21xrx.com
2024-12-27 20:54:38 Friday
登录
文章检索 我的文章 写文章
C++判断回文数的方法
2023-06-29 19:45:46 深夜i     --     --
C++ 回文数 判断方法

回文数是指正着读和倒着读都一样的数字,如121、1221、12321等等。在C++中,判断一个数是否为回文数并不难,只需要将这个数反转,然后比较反转后的数是否和原来的数相等即可。

下面是判断回文数的C++代码:


bool isPalindrome(int x) {

  if (x < 0)

    return false;  // 负数不是回文数

  

  long long reverseX = 0; // 反转后的数,使用long long类型是为了避免反转后的数溢出

  int originX = x;  // 原始数

  while (x) {

    reverseX = reverseX * 10 + x % 10;  // 取出x的个位数,加到reverseX的末尾

    x /= 10;  // 将x的个位数删除

  }

  return originX == reverseX; // 比较反转后的数是否和原来的数相等

}

在这段代码中,首先判断输入的数是否为负数,如果是,则直接返回false,因为负数不是回文数。然后使用一个整型变量reverseX来保存反转后的数,先将其初始化为0。

接下来是一个while循环,循环条件为当x不为0时,也就是x还有数位没有被反转。在每次循环中,我们需要将x的个位数取出来,然后将其加到reverseX的末尾,这可以通过将reverseX乘以10再加上x的个位数来实现。然后将x的个位数删除,即将x除以10。

循环结束后,reverseX就是x反转后的数,最后只需要将reverseX和原来的数originX比较一下就可以了。如果两者相等,则返回true,否则返回false。

总的来说,判断回文数的方法就是将数反转后再和原来的数比较是否相等。这个方法同样适用于字符串的回文判断,只需要将字符串反转后再和原来的字符串比较即可。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复