为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查数字是否是回文?

如何检查数字是否是回文?

如何检查数字是否是回文?任何语言。任何算法。(除了使数字成为字符串然后反转字符串的算法)。
查看完整描述

3 回答

?
达令说

TA贡献1821条经验 获得超6个赞

这是项目欧拉问题之一。当我在Haskell中解决它时,我完全按照你的建议,将数字转换为字符串。然后检查该字符串是否为pallindrome是微不足道的。如果它表现得足够好,那为什么还要把它变得更复杂呢?作为一个pallindrome是一个词汇属性而不是数学属性。


查看完整回答
反对 回复 2019-08-30
?
PIPIONE

TA贡献1829条经验 获得超9个赞

对于任何给定的数字:


n = num;

rev = 0;

while (num > 0)

{

    dig = num % 10;

    rev = rev * 10 + dig;

    num = num / 10;

}

如果n == rev那时num是回文:


cout << "Number " << (n == rev ? "IS" : "IS NOT") << " a palindrome" << endl;


查看完整回答
反对 回复 2019-08-30
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

def ReverseNumber(n, partial=0):

    if n == 0:

        return partial

    return ReverseNumber(n // 10, partial * 10 + n % 10)


trial = 123454321

if ReverseNumber(trial) == trial:

    print("It's a Palindrome!")

仅适用于整数。从问题陈述中不清楚是否需要考虑浮点数或前导零。


查看完整回答
反对 回复 2019-08-30
  • 3 回答
  • 0 关注
  • 664 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信