3 回答
达令说
TA贡献1821条经验 获得超6个赞
这是项目欧拉问题之一。当我在Haskell中解决它时,我完全按照你的建议,将数字转换为字符串。然后检查该字符串是否为pallindrome是微不足道的。如果它表现得足够好,那为什么还要把它变得更复杂呢?作为一个pallindrome是一个词汇属性而不是数学属性。
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;
繁星点点滴滴
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!")
仅适用于整数。从问题陈述中不清楚是否需要考虑浮点数或前导零。
添加回答
举报
0/150
提交
取消