首先,這不是作業......在課堂外的這個工作,以獲得一些與Java練習。項目歐拉數3
public class Problem3 {
public static void main(String[] args) {
int n = 13195;
// For every value 2 -> n
for (int i=2; i < n; i++) {
// If i is a multiple of n
if (n % i == 0) {
// For every value i -> n
for (int j=2; j < i; j++) {
if (n % j != 0) {
System.out.println(i);
break;
}
}
}
}
}
}
我一直在修改代碼,試圖讓它做我想做的事。
隨着問題說,你應該得到5,7,13和29
我得到這些值,加上35,65,91,145,203,377,455,1015,1885年,和2639.我認爲我走在正確的軌道上,因爲我擁有所有正確的數字......只是有一些額外的。
而在檢查一些數字都可以被n整除和作爲素數,這裏的問題是額外的數字不是素數。不知道發生了什麼。
如果有人有任何見解,請分享。
「玩電腦」。追蹤紙上的執行情況,記下循環值,數學條件的結果等。或者,使用調試器,但IMO將其記錄下來以吸引更多的大腦。 –
請注意,對於最終的問題(600851475143),您需要使用'long'而不是'int'。 – assylias
-1歐拉項目的一個規則是不要傳播答案。 –