C#習(xí)題:編程求出100以內(nèi)的所有素?cái)?shù),要求每5個(gè)一行。
基本思想:
假設(shè)求m(m>2)的所有素?cái)?shù),我們只需用從2開始到m-1所有的數(shù)去除m,如果其中的某個(gè)數(shù)將m除盡了,那么m就不是素?cái)?shù),如果,循環(huán)計(jì)數(shù)到了m仍沒(méi)有被除盡,則m即是一個(gè)素?cái)?shù)。但這種算法效率較低,我們還可以使用從2到m的平方數(shù)去除m,這樣效率就大大提高了。
程序每找出1個(gè)素?cái)?shù),將其累加到個(gè)數(shù)計(jì)數(shù)器count中,并判斷count是否能被5整除,如果能整除則輸出一個(gè)換行(Console.WriteLine())。
其源程序代碼如下:
using System;
class Class1
{
static void
{
int m;
int j;
int count = 0; //保存素?cái)?shù)的個(gè)數(shù)
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個(gè)一換行
Console.WriteLine();
}
}
}
}
運(yùn)行結(jié)果:
新聞熱點(diǎn)
疑難解答
圖片精選