int Cnt(){
return Count (10);
}
int Count (int init){
int u = init % 10;
int t = (init % 100) - u;
int u2 = u * u;
int t2 = t * t;
int m = u2 + t2;
if(m <= 1)
System.out.println("Happy!");
else {
return Count (m);
}
工作的這段代碼應該(理論上)檢查,如果數量是Happy,如果它不設置初始值是一樣的結果,並重復整個過程。 如果號碼不滿意,應該發生無限循環。 但是,沒有發生這種情況,有誰知道如何使這項工作?快樂數檢查不正確
該代碼是否爲您編譯?你必須將return語句放在'if'或if-else'子句後面 – bontade 2012-07-29 18:48:04
如果你必須檢查一個像78這樣的數字,會發生什麼?下一個數字是49 + 64 = 113.當你檢查113時,你的代碼是做什麼的?在這種情況下't'和'u'的值是多少? (最好使用'ten'和'units'作爲變量名;儘早進入好習慣。) – rossum 2012-07-29 18:59:50
[迭代通過數字中的每個數字]可能的重複(http://stackoverflow.com/questions/5009591/iterate-通過每個數字的數字) – Bernard 2012-07-29 19:02:41