項目歐勒問題10中的問題表示添加2000,000以下的所有質數。我嘗試了其他數字,它運行良好,但當我嘗試2000,000時,答案是錯誤的。這是爲什麼?這是我的代碼。項目歐勒#10得到錯誤的答案
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);
您的代碼只能識別前4個素數。你將需要改變結構。你可以使用'List'作爲素數。當你知道一個數字是素數時,將它添加到列表中並檢查數字是否爲素數,然後檢查列表。 – kero