有人可以识别我程序中的逻辑错误吗?我只得到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);
}
答案 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;