这是我的程序,可以计算出所有不超过10,000的质数
public class Prime {
public static void main(String []args) {
boolean prime = true;
for(int i = 1; i <= 10000; i++) {//possible prime numbers
for(int a = 2; a <= i/2; a++) {
if(i % a == 0){
prime = false;
}
}
if(prime)
System.out.print(i + " ");
}
}
}
最佳答案
当您将prime
标志设置为false
时,它将永远保持为false
。您需要在外部true
循环的每次新运行开始时将其设置为for
。
boolean prime = true;
for(int i = 1; i <= 10000; i++){
prime = true; // ADD THIS LINE !!
for(...){...}
if(prime)
System.out.print(i + " ");
}
关于java - 我的程序遇到问题。我正在尝试打印最多10,000的所有素数,但不会打印出1,2和3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35608748/