Add Digits:Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.
樣例
Given num = 38.The PRocess is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 has only one digit, return 2.
public static int addDigits(int num) { // Write your code here //num 0 !0 //num <10 >10 /* * 外循環 處理數據的依據就是求模運算大于零,且這個數大于十 不大于十直接返回 * 內循環 求余累加sum num從個位開始依次到N位,直至num=0不再進入 */ if (num<10) { return num; } else { while (num % 10 > 0&&num>10) { var sum = 0; while (num > 0) { sum += num % 10; num /= 10; } num = sum; } return num; } } public static int addDigitsforRole(int num) { /* 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 1 20 2 * 9個數一個輪回,我們就直接模9 * 那么特殊情況(9 及9的倍數)我們采用減一加一獲取 * 減一加一也兼顧了其它數的求根 */ return (num-1)%9+1; }
新聞熱點
疑難解答