首页 > 编程 > C# > 正文

C#习题:编程求100以内的所有素数

2023-05-05 19:01:33
字体:
来源:转载
供稿:网友

C#习题:编程求出100以内的所有素数,要求每5个一行。

基本思想:

假设求m(m>2)的所有素数,我们只需用从2开始到m-1所有的数去除m,如果其中的某个数将m除尽了,那么m就不是素数,如果,循环计数到了m仍没有被除尽,则m即是一个素数。但这种算法效率较低,我们还可以使用从2到m的平方数去除m,这样效率就大大提高了。

程序每找出1个素数,将其累加到个数计数器count中,并判断count是否能被5整除,如果能整除则输出一个换行(Console.WriteLine())。

其源程序代码如下:

using System; 

class Class1

{

    static void Main()

    {

       int m;

       int j;

       int count = 0;    //保存素数的个数

       for(int i=2;i<50;i++)

       {

           m=(int)Math.Sqrt(i);

           for(j=2;j<=m;j++)

           {

              if(i%j==0)

                  break;

           }

           if(j>m)

           {

              Console.Write("{0,5}",i);

              count++;

              if(count%5==0)    //5换行

                  Console.WriteLine();

           }

       }

    }

} 

运行结果:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表