我目前正在尝试创建一个程序,仅使用 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/