#include<algorithm>
#include<string>
#include<iostream>
using namespace std;
string step(string a)
{
string b=a,c=a; //c 首先要有足够的位数!
reverse(b.begin(),b.end());
int carry=0;
for(int i=0;i<b.size();++i)
{
int tmp=a[i]+b[i]-'0'-'0'+carry;
c[i]=tmp%10+'0';
carry=tmp/10;
}
if(carry)
c+='0'+carry;
reverse(c.begin(),c.end());
return c;
}
bool is(string st)
{
for(int i=0;i<st.size()/2;++i)
if(st[i]!=st[st.size()-1-i])
return false;
return true;
}
int main()
{
int i=0, k;
string st;
cin>>st>>k;
if(!is(st))
for(i=1;i<=k;++i)
if(is(st=step(st)))
break;
cout<<st<<endl<<(i>k?k:i);
return 0;
}
1024. Palindromic Number
最新推荐文章于 2021-05-29 18:45:30 发布