码迷,mamicode.com
首页 > 其他好文 > 详细

编程小练习--回文数链长

时间:2018-06-05 12:20:33      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:color   方法   pre   数组   合成   返回   lse   小练习   string   

题:

一个数加上他颠倒过来的数,直到最终结果是个回文数,看需要几步。

例如: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()将数组倒叙 -> 组合成字符串 -> 转化成数字

编程小练习--回文数链长

标签:color   方法   pre   数组   合成   返回   lse   小练习   string   

原文地址:https://www.cnblogs.com/forlong/p/9139029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!