这是我的程序,可以找出所有素数高达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 + " ");
}
}
}
答案 0 :(得分:7)
当您将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 + " ");
}