首页 > 解决方案 > 我的素数程序中的逻辑错误

问题描述

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

算法如下:

内部外部;

内部;

整数计数=0;

对于(外部= 2;外部<= 100;外部++)

{

对于(内部 = 2;内部 <= 外部;内部 ++)

{

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

计数 = 计数 + 1;

}

如果(计数 == 1)

{

Console.WriteLine("素数是 {0}", inner - 1);

计数 = 0;

}

否则如果(计数> 1)

Console.WriteLine("{0} 不是素数", inner - 1);

}

标签: c#primes

解决方案


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

对于(外部= 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;

推荐阅读