編程小練習--回文數鏈長
阿新 • • 發佈:2018-06-05
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()將數組倒敘 -> 組合成字符串 -> 轉化成數字
編程小練習--回文數鏈長