日期:2012-05-09  浏览次数:20447 次

刚刚开始学C#,这是做的第一个很小很小的小程序:计算质数。做的比较烂,不要见笑!

http://true5460.muicc.com/other/calPN.zip

以下是源码:

using System;

class test
{
static void Main() {
ulong i;
while(true) {
Console.Write("请输入要计算的质数(0退出):");
i=Convert.ToUInt64(Console.ReadLine());
if(i==0) break;
DateTime t1 = DateTime.Now;
switch(i) {
case 1:Console.WriteLine("1 不是质数!");break;
case 2:Console.WriteLine("2 是质数!");break;
default:cal(i);break;
}
DateTime t2 = DateTime.Now;
Console.WriteLine("时间为:{0} 毫秒\n",(t2-t1).Ticks/10000f);
}
}

//以下为函数部分

static void cal(ulong x) {
ulong sum=1;
byte row=1;
Console.Write("\n");
for(ulong a=3;a<x+1;a++) {
bool flag=true;
for(ulong b=2;b<(a/2)+1;b++) { if(a%b!=0) continue;
flag=false;
break;
}
if(flag) {
if(row==10) { Console.WriteLine();row=0; }
if(sum==1) Console.Write("{0,7}",2);
Console.Write("{0,7}",a);
sum++;row++;
}

}
Console.WriteLine("\n\n{0} 以内共有 {1} 个质数\n",x,sum);

}

}