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

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

以上是关于编程小练习--回文数链长的主要内容,如果未能解决你的问题,请参考以下文章

lqb 基础练习 回文数

10-基础练习 特殊回文数

基础练习 特殊回文数

蓝桥杯 基础练习 特殊回文数

基础练习-8.回文数

蓝桥 基础练习 特殊回文数