在 C++ 中检查一个数字是否为回文数


在这里,我们将看到如何检查一个数字是否为回文数。回文数在两个方向上是相同的。例如,数字 12321 是回文数,但 12345 不是回文数。

这个逻辑非常简单。我们必须反转此数字,如果反转的数字与实际数字相同,那么它就是回文数,否则不是。让我们看看这个算法以获得一个更清晰的概念。

算法

isPalindrome(n) −

输入 − 数字 n

输出 − 如果数字是回文数,则为真,否则为假

begin
   temp := n
   rev := 0
   while n > 0, do
      rev := rev * 10 + (n mod 10)
      n := n / 10
   done
   if rev = temp, then
      return true
   return false
end

示例

 在线演示

#include <iostream>
using namespace std;
bool isPalindrome(int number) {
   int temp = number;
   int rev = 0;
   while(number > 0){
      rev = 10 * rev + number % 10; //take the last digit, and attach with the rev number /= 10;
   }
   if(rev == temp)
      return true;
   return false;
}
int main() {
   int n = 12321;
   if(isPalindrome(n)){
      cout << n << " is palindrome number";
   } else {
      cout << n << " is not a palindrome number";
   }
}

输出

12321 is palindrome number

更新于: 2019-10-22

609 浏览量

开启你的 职业

完成课程便可获得认证

开始学习
广告