又是道水题。。。
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
int ctoi(char ch)
{
return ch-'0';
}
char itoc(int i)
{
return i+'0';
}
string resum(string s)
{
string ss=s;
reverse(ss.begin(),ss.end());
int num=s.size()-1,i;
string ns="?";
int sum=0,add=0;
for(i=num;i>=0;i--)
{
sum=ctoi(s[i])+ctoi(ss[i])+add;
s[i]=itoc(sum%10);
add=sum/10;
}
if(add>0)
{
ns[0]=itoc(add);
s=ns+s;
}
return s;
}
int isp(string s)
{
string ss=s;
reverse(ss.begin(),ss.end());
if(ss==s)
return 1;
return 0;
}
int main()
{
string s;
int num,i;
cin>>s>>num;
for(i=0;i<num;i++)
{
if(isp(s))
{
cout<<s<<endl<<i<<endl;
return 0;
}
s=resum(s);
}
cout<<s<<endl<<i<<endl;
return 0;
}