bool isHuiWen(string s){
int len = s.length();
for(int i=0;i<len/2;i++){
if(s[i]!=s[len-i-1])
return false;
}
return true;
}
#include <algorithm>
int step=10;
while(step--){
if(!isHuiWen(n)){
string tmp1=n;
reverse(tmp1.begin(),tmp1.end());
string tmp2=tmp1;
cout<<n<<" + "<<tmp2<<" = ";
n=add(n,tmp2);
cout<<n<<endl;
}else{
cout<<n<<" is a palindromic number.";
return 0;
}
}
cout<<"Not found in 10 iterations.";
return 0;
string add(string a,string b){
int i,carry=0,sum=0;
string tmp=a;
for(int i=a.length()-1;i>=0;i--){
int sum = a[i]-'0'+b[i]-'0';
tmp[i]=(sum+carry)%10+'0';
carry=(carry+sum)/10;
}
if(carry>0)tmp=carry+tmp;
return tmp;
}
#include <iostream>
#include <algorithm>
using namespace std;
bool isHuiWen(string s){
int len = s.length();
for(int i=0;i<len/2;i++){
if(s[i]!=s[len-i-1])
return false;
}
return true;
}
string add(string a,string b){
int i,carry=0,sum=0;
string tmp=a;
for(int i=a.length()-1;i>=0;i--){
int sum = a[i]-'0'+b[i]-'0';
tmp[i]=(sum+carry)%10+'0';
carry=(carry+sum)/10;
}
if(carry==1)tmp='1'+tmp;
return tmp;
}
int main(){
string n;
cin>>n;
int step=10;
while(step--){
if(!isHuiWen(n)){
string tmp1=n;
reverse(tmp1.begin(),tmp1.end());
string tmp2=tmp1;
cout<<n<<" + "<<tmp2<<" = ";
n=add(n,tmp2);
cout<<n<<endl;
}else{
cout<<n<<" is a palindromic number.";
return 0;
}
}
cout<<"Not found in 10 iterations.";
return 0;
}