排序方式找到素数,但它有一些错误#?

时间:2017-02-16 04:38:58

标签: c# numbers

我尝试使用该代码找到素数:

        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();
    }

但是它可以写​​一个数字而不是数字列表。我接下来该怎么办

1 个答案:

答案 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);

}