10以下的质数的和是2 + 3 + 5 + 7 = 17.
找出两百万以下所有质数的和。
public class Test {
public static boolean is_odd(long n) {
if (n == 2 || n == 3) {
return true;
}
if (n % 2 == 0) {
return false;
}
long i;
for (i = 3; i <= Math.sqrt(n) + 1; i += 2) {
if (n % i == 0)
return false;
}
return true;
}
public static void main(String[] args) {
long n = 2000000L;
long sum = 0L;
for (long i = 2; i <= n; i++) {
if (is_odd(i)) {
sum += i;
}
}
System.out.println("前" + n + "以前的素数和为:" + sum);
}
}