#include<iostream>
using namespace std;
bool is_huiwen(int n){
int temp=n;
int sum=0;
while(n!=0){
sum=sum*10+n%10;
n/=10;
}
if(sum==temp){
return 1;
}
else return 0;
}
int reverse(int n){
int temp=n;
int sum=0;
while(n!=0){
sum=sum*10+n%10;
n/=10;
}
return sum;
}
int main(){
int n;
while(scanf("%d",&n)!=EOF)
{
if(n==0){
break;
}
int rev,res;
while(1){
rev=reverse(n);
res=rev+n;
printf("%d+%d=%d\n",n,rev,res);
if(is_huiwen(res)){
break;
}
else{
n=res;
}
}
}
}
//由于数据比较弱,输入的数据为int,考虑普通int型数字的反转和判断回文
//通过%,/操作得到反转的数字,进而也可以判断回文了,本题主要就在整形数字如何反转和判回文
//如果是string类型,反转有reverse函数,判回文可以采用前后两个指针,会用到大整数的加法!!
东华oj 回文数
最新推荐文章于 2024-07-13 18:32:53 发布