跳转到主内容
极星编程网:以代码为星,赴技术山海!

C++ 怎么判断一个数是不是回文数?

回文数,顾名思义,就是从左到右读和从右到左读都一样的数。比如 12321 就是一个回文数。那么,如何在 C++ 中判断一个数是不是回文数呢?今天就来给大家分享一下。

方法解析

最直接的方法是模拟这个过程:将各个数位取出来,然后比较。不过这种方法比较繁琐。这里教大家一个更巧妙的方法。

既然是回文数,那么各个数位上的数正着加起来和逆着加起来的和应该是一样的。我们就可以利用这个性质来简化问题。

代码实现

include iostream;
using namespace std;

int main(){
    int n;
    cin >> n;
    int x = 0;
    int s = n;    // 拷贝一份
    while(s > 0){
        x = x * 10 + s % 10;    // 反向求和,s%10为取s的个位数,例,123取3
        s = s / 10;        // 删除s的个位数,例,123变成12
    }

    if(x == n){
        cout <<
                            

相关文章