1. 程式人生 > >編程小練習--回文數鏈長

編程小練習--回文數鏈長

chain int 小練習 === nbsp 數組 是的 組合 tostring

題:

一個數加上他顛倒過來的數,直到最終結果是個回文數,看需要幾步。

例如:87 + 78 = 165; 165 + 561 = 726; 726 + 627 = 1353; 1353 + 3531 = 4884 結果為 4。

答:

var palindromeChainLength = function(n) {
    var m = reverseNum (n);
    if(m===n) {
        return 0;
    } else {
        return 1 + palindromeChainLength(m+n);
    }
};
function reverseNum (n) {
    
return parseInt(n.toString().split("").reverse().join("")); }
判斷調換前後數字是否相等,是的話返回0,不是遞歸判斷兩數字和,結果+1。

reverseNum 方法是把一個數字顛倒過來:
  轉化成字符串 -> 字符串轉化為數組 -> reverse()將數組倒敘 -> 組合成字符串 -> 轉化成數字

編程小練習--回文數鏈長