c# - 打印从 0 到 10,000 的素数

标签 c# for-loop numbers primes do-while

我目前正在尝试创建一个程序,仅使用 for、do while 和 ifs 打印 0 到 10,000 之间的质数。我创建了这个程序,但它没有运行

static void Main(string[] args)
    { 
        for (int x = 2; x < 10000; x++)
        { 
            for (int y = 1; y < x; y++)
            { 
                if (x % y != 0)
                {
                    Console.WriteLine(x); 
                }  
            }
            Console.ReadKey();
        }

我不知道问题出在哪里,也不知道 for inside 是否重置了。

最佳答案

在没有 bool 的情况下试试这个变量!!!:

static void Main(string[] args)
{
    for (int x = 2; x < 10000; x++)
    {
        int isPrime = 0;
        for (int y = 1; y < x; y++)
        {
            if (x % y == 0)
                isPrime++;

            if(isPrime == 2) break;
        }
        if(isPrime != 2)
           Console.WriteLine(x);

        isPrime = 0;
    }
    Console.ReadKey();
}

检查 Console.ReadKey();它应该在上层 for 之后循环,您甚至可以更改上层 for 的条件用 <= 抢劫自 10000还需要检查 prime条件。

关于c# - 打印从 0 到 10,000 的素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28846826/

相关文章:

c# - 如何在 Linq C# 中执行此操作

Java - 将 .txt 文件读取到 arrayList 忽略最后一次迭代并显示错误

excel - VBA 循环永远存在 - 我在哪里可以优化?

使用 R 重新分配定向(圆形)数据中的位置

MySQL:确保列中数字的连续性

c# - Bot Framework v4.2 - 优雅地从 OnTurnError 异常中恢复

c# - 使文件选取器异步 - Windows Phone 8.1

c# - 大量客户端和大量数据的 WCF 怎么样?

mysql - 计算mysql中表的行数

java - 计算两个用户输入之间的奇数之和