简明现代魔法 -> Java编程语言 -> Java 素数打印
Java 素数打印
2010-01-05
素数就是只能被1和它自己本身整除的数。
我们可以使用两个嵌套的 for 循环和取余操作来探测并打印出1000以内的素数。
外层循环的增量i为需要被探测的数,内层循环实现将i与1到(i + 2)/2之间的整数进行除法探测。若有整除,则factors自增。最后,如果factors只有1的话,那么该数很明显就是素数了。
程序代码
public class primes {
public static void main(String[] args) {
for(int i = 1; i < 1000; i++ ) {
int factors = 0;
for(int j = 1; j < (i + 2)/2; j++ ) {
// 将 i 依次除以 1 到 [(i + 2)/2]
// 计算其整除的次数
if((i % j) == 0) factors++;
}
// 如果只有一次整除,那么该数为素数
if(factors < 2)
System.out.println(i + " is prime");
}
}
}
程序输出
1 is prime
2 is prime
3 is prime
5 is prime
7 is pr