回文数,顾名思义,就是从左到右读和从右到左读都一样的数。比如 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 <<
