我的素数程序中出现逻辑错误

时间:2018-08-05 21:01:51

标签: c# primes

有人可以识别我程序中的逻辑错误吗?我只得到2和3作为质数的结果。

算法如下:

int外部;

int内部;

int count = 0;

for(外部= 2;外部<= 100;外部++)

{

for(内部= 2;内部<=外部;内部++)

{

如果(外部%内部== 0)

count =计数+ 1;

}

如果(计数== 1)

{

Console.WriteLine(“素数为{0}”,内部-1);

count = 0;

}

否则(计数> 1)

Console.WriteLine(“ {0}不是质数”,内部-1);

}

1 个答案:

答案 0 :(得分:-1)

谢谢。问题在于计数。我重新发布更正的代码

for(外部= 2;外部<= 100;外部++)

        {

            for (inner = 2; inner <= outer; inner++)

                if (outer % inner == 0)
                    count = count + 1;

                if (count == 1)
                {
                    Console.WriteLine("prime is {0}", inner - 1);
                    count = 0;
                }
                else if (count > 1)
                    count = 0;