如果一个数从左边读和从右边读都是同一个数, 就称为回文数
解答:
- 思想最简单的方法就是模拟,把各个数位取出来,然后比较。当然这种方法比较麻烦。
- 我们这次要用的方法如下:既然是回文数,那我们把各个数位上的数 正着 加起来跟 逆着 加起来的 和 是一样的。运用这条性质我们就可以很简单的解决这个问题。代码如下:
#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<<"YES!"<<endl;
}
else{
cout<<"NO!"<<endl;
}
return 0;
}