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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (10)

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

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

提问于
用户回答回答于

当我在Haskell解决这个问题时,把数字转换成字符串。然后,检查字符串是否为淡色码非常简单。如果它表现得足够好,那为什么还要把它变得更复杂呢?作为一个淡色标记是一个词汇属性,而不是一个数学属性。

用户回答回答于

对于任何给定的数字:

 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;

扫码关注云+社区