编程小练习--回文数链长
Posted real
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程小练习--回文数链长相关的知识,希望对你有一定的参考价值。
题:
一个数加上他颠倒过来的数,直到最终结果是个回文数,看需要几步。
例如: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()将数组倒叙 -> 组合成字符串 -> 转化成数字
以上是关于编程小练习--回文数链长的主要内容,如果未能解决你的问题,请参考以下文章