我尝试使用该代码找到素数:
public static void TongSoNguyenTo()
{
var tongchiahet = 0;
for (var so=2;so<20;so++)
{
for (var chia=1;chia<=so;chia++)
{
if (so % chia == 0)
{
tongchiahet++;
if (tongchiahet == 2)
{
Console.WriteLine(so);
}
}
}
}
Console.ReadKey();
}
但是它可以写一个数字而不是数字列表。我接下来该怎么办
答案 0 :(得分:0)
你的第二个循环中有问题,我不知道你使用变量tongchiahet
的原因,你必须使用的主要内容是break语句,它可以帮助你停止迭代迭代之间so % chia == 0
的第二个循环:这里有working Example,并尝试以下代码:
int limit = 20;
for (var so = 1; so < limit; so++)
{
bool isPrime = false;
for (var chia = 2; chia < so; chia++)
{
if (so % chia == 0)
{
isPrime = true;
break;
}
}
if (!isPrime)
Console.WriteLine(so);
}