使用JavaScript和递归的回文创建者

问题描述 投票:-3回答:2

我需要创建一个函数,该函数接受一个数字并通过求和其反向数字来返回该数字的回文。例如312 + 213 =525。但是更重要的是,在这种情况下,我必须使用递归。

例如,数字96需要进行4次迭代才能变成4884。

javascript recursion palindrome
2个回答
1
投票

该策略已在其他评论中进行了解释。这是一个示例递归JS实现,可以实现您的目标:

// Keeps recursively addding the reverse number until a palindrome
// number is obtained
function findPalindrome(num) {
    numStr = num.toString();
    revNumStr = numStr.split("").reverse().join("");
    if (numStr === revNumStr) { // True if palindrome
        return num;
    } else { // Recursive part
        return findPalindrome(num + parseInt(revNumStr))
    }
}

console.log(findPalindrome(312));
console.log(findPalindrome(213));
console.log(findPalindrome(96));

1
投票

您可以

  • 获取号码
  • 将数字转换为字符串
  • 获取数字数组
  • 反转数组
  • 加入数组
  • 转换为数字
  • 添加到原始号码
  • 将总和转换为字符串
  • 迭代字符串,并检查开头的值是否等于结尾的值
    • 如果为真,总和为真
    • 如果再次使用虚假调用函数求和
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.