#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
string s;
void add(string t)
{
int len=s.length(),carry=0;
for(int i=0;i<len;i++)///两个字符串从高位相加,最后逆转,为什么不能直接从低位开始加呢?
{
s[i]=s[i]+t[i]+carry-'0';
carry=0;
if(s[i]>'9')
{
s[i]=s[i]-10;
carry=1;
}
}
if(carry) s+='1'; ///*****
reverse(s.begin(),s.end());
}
int main()
{
int cnt;
cin>>s>>cnt;
int i;
for(i=0;i<=cnt;i++)
{
string t=s;
reverse(t.begin(),t.end());
if(s==t||i==cnt) break;
add(t);
}
cout<< s << endl << i;
return 0;
}
A1024 Palindromic Number
最新推荐文章于 2020-04-25 15:56:38 发布
