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();
}
}
}
}
運行結果:
新聞熱點
疑難解答