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

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

任何语言。任何算法。(除了使数字成为字符串然后反转字符串的算法)。


收到一只叮咚
浏览 665回答 3
3回答

达令说

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

PIPIONE

对于任何给定的数字:n = num;rev = 0;while (num > 0){&nbsp; &nbsp; dig = num % 10;&nbsp; &nbsp; rev = rev * 10 + dig;&nbsp; &nbsp; num = num / 10;}如果n == rev那时num是回文:cout << "Number " << (n == rev ? "IS" : "IS NOT") << " a palindrome" << endl;

繁星点点滴滴

def ReverseNumber(n, partial=0):&nbsp; &nbsp; if n == 0:&nbsp; &nbsp; &nbsp; &nbsp; return partial&nbsp; &nbsp; return ReverseNumber(n // 10, partial * 10 + n % 10)trial = 123454321if ReverseNumber(trial) == trial:&nbsp; &nbsp; print("It's a Palindrome!")仅适用于整数。从问题陈述中不清楚是否需要考虑浮点数或前导零。
打开App,查看更多内容
随时随地看视频慕课网APP