Java 列出 2 - 100 之间的所有素数
TestPrime.java
public class TestPrime {
public static boolean isPrime(int num) {
for(int i = 2; i <= Math.sqrt(num); i++) {//程序默认2是素数,当j=2时,循环不执行
if(num % i == 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
for(int j = 2; j <= 100; j++) {
if(TestPrime.isPrime(j)) {
System.out.println(j + " is a prime");
}
}
}
}
简单改进:
for(int i = 2; i <= Math.sqrt(num); i++)这里每次循环都要执行一次Math.sqrt(num),而这是一个固定值,
因此应该使用空间换时间,double t = Math.sqrt(num); for(int i = 2; i <= i; i++)这样执行。