采用大整数加法计算。
#include<bits/stdc++.h>
using namespace std;
string s;
void add(string x){
int flag=0;
for(int i=x.length()-1;i>=0;i--){
int temp=s[i]-'0'+x[i]-'0'+flag;
flag=0;
if(temp>9){
temp=temp-10;
flag=1;
}
s[i]=temp+'0';
}
if(flag==1)
s='1'+s;
}
int main(){
cin>>s;
bool get=false;
for(int i=0;i<10;i++){
string t=s;
reverse(s.begin(),s.end());
if(s==t){
get=true;
break;
}
cout<<t<<" + "<<s<<" = ";
add(t);
cout<<s;
cout<<endl;
}
if(get)
cout<<s<<" is a palindromic number.";
else
cout<<"Not found in 10 iterations.";
return 0;
}