C# I';我想做一个质数查找器,但不明白为什么它';它不工作了
我正在尝试做一个质数查找器,但不明白为什么它不工作。 当我运行调试测试时,控制台中没有显示任何内容。有人能检查一下,告诉我我做错了什么吗C# I';我想做一个质数查找器,但不明白为什么它';它不工作了,c#,list,numbers,primes,C#,List,Numbers,Primes,我正在尝试做一个质数查找器,但不明白为什么它不工作。 当我运行调试测试时,控制台中没有显示任何内容。有人能检查一下,告诉我我做错了什么吗 List<int> primes = new List<int>(); primes.Add(2); primes.Add(3); int maxPrime = 11; //The maximum found Primes int prim
List<int> primes = new List<int>();
primes.Add(2);
primes.Add(3);
int maxPrime = 11; //The maximum found Primes
int primeCount = primes.Count; //Current Number of Primes
int num = 4; //Current Number
int x = 0; //
int curPrime = primes[x];
while (primeCount < maxPrime)
{
if (x != primeCount)
{
if (num % primes[x] == 0)
{
num++;
x = 0;
}
else
{
x++;
}
}
else
{
primes.Add(num);
primeCount=primes.Count;
x = 0;
}
}
primes.ForEach(i => Console.Write("{0}\t", i));
List primes=new List();
添加(2);
添加(3);
int-maxPrime=11//找到的最大素数
int primeCount=primes.Count//当前素数
int num=4//当前编号
int x=0//
int curPrime=primes[x];
while(primeCountConsole.Write(“{0}\t”,i));
您有一个无限循环
由于您从不修改primeCount
或maxPrime
,因此这始终是正确的:
while(primeCount
为了结束该循环,需要修改这两个值中的一个,使条件的计算结果为false
(注意:除此之外,代码中似乎还存在其他错误/问题。例如,
num=num++;
不会执行您可能认为它会执行的操作。)当您在调试器中单步执行代码时,观察到的行为与预期的行为有何区别?发生这种情况时的运行时值是什么?有很多关于如何实现这一点的工作示例,这里有一个更简单的示例,使用单个值增加primeCount
会有所帮助。。。。
while (primeCount < maxPrime)