我正在寫一段代碼,找到總和爲十的倍數的數字,從start
到end
,但我的'我很難找到我的代碼中發現錯誤的錯誤,這些錯誤發現它們和其他不合計爲十倍數的巧妙素數。java找到的數字在一個範圍內的數字增加到10的倍數
void funPrimes(int start, int end) {
int ten = 0;
for (int n = start; n < end; n++){
int current = n;
while (current > 0){
ten += current%10;
current=current/10;
}
if(isPrime(n)&&ten%10==0) println(n);
}
}
boolean isPrime(int num){
boolean p = true;
for(int i = 2; i < num; i++){
if(num%i ==0) return false;
}
return p;
}
例如,如果start = 1
和end = 2048
,那麼就應該被打印出來的唯一數字是19,37,73,127,163,181,271 ...
但是,當我運行代碼,出現的數字是19,47,59,71,79,103,139,179,199 ...
你應該添加一些樣本輸出以顯示您的代碼出錯 – bkennedy
我下載並運行了代碼。我給它開始= 1和結束= 20。打印出來的唯一數字是19.它是如此煩人,當你走出去的方式來幫助別人的問題,事實證明,作者甚至沒有運行自己的代碼用他們自己的例子... – nhouser9
對不起,我只是拿了兩個簡單的數字,從我頭頂上掉下來。如果我使用更大的數字,例如1到2048,那麼唯一的數字應該是19,37,73,109,127等... –