项目欧拉问题10中的问题是将所有素数加到2000,000以下。我尝试了其他数字并且工作正常,但是当我尝试2000,000时答案是错误的。这是为什么?这是我的代码。
Long number = scanner.nextLong();
Long sum = 17L;
for (Long i = 11L; i <= number; i ++) {
if (i % 2 == 0 || i % 3 == 0 || i % 5 == 0 || i % 7 == 0) {
} else {
sum += i;
}
}
System.out.println(sum);
答案 0 :(得分:0)
你的素数检测算法是完全错误的,它适用于(非常小的)质数但在此之后会很快崩溃。