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
{
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();
}
}
}
}
运行结果:
新闻热点
疑难解答