Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 欧拉10号项目答错了_Java - Fatal编程技术网

Java 欧拉10号项目答错了

Java 欧拉10号项目答错了,java,Java,euler项目中问题10中的问题表示添加所有低于2000000的素数。我试过其他的数字,效果很好,但当我试过2000000时,答案是错误的。为什么呢?这是我的密码 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 +=

euler项目中问题10中的问题表示添加所有低于2000000的素数。我试过其他的数字,效果很好,但当我试过2000000时,答案是错误的。为什么呢?这是我的密码

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);

你的素数检测算法是完全错误的,它将适用于非常小的素数,但很快就会崩溃


为什么它对大数字不起作用?因为它完全错了!看链接,知道了。确实是错误的XD Thanksy您的代码只识别前4个素数。你需要改变结构。您可以使用素数列表。当你知道一个数字是素数时,把它加到列表中,要检查一个数字是否是素数,就对照列表进行检查。