帮修改一个程序,是求1~~1000的质数

来源:百度知道 编辑:UC知道 时间:2024/09/22 21:21:47
程序如下,因为我是一个程序新手,想请教下高手,我这段程序为什么不可以算出1~~1000的质数,非常感谢!!!
using System;
using System.Collections.Generic;
using System.Text;

namespace zhishu
{
class Program
{
static void Main(string[] args)
{
int i,j,k,count;
count=0;

for(i=3;i<1001;i++)
{
for(j=2;j<i;j++)
{
k=i%j;
if(k==0)
{
break;
}
else
{
count=count+1;
while(count==i-2)
{
Console.Write(i);
Console.Write(" ");
break;
}
}

思路是正确的。最后一个应该把while改为if.你是判断到i%i-2为止,当然是if了,while是循环语句。
另外有些小问题,最后的语句Console.ReadLine();多余了。
最后,效率问题也要考虑以下,你要判断一个数是否是质数需要判断到i-2去吗?直观上看 只要i/2就行了。还有更高效的判断方法,以后多看看算法的书吧。