题目链接:https://www.patest.cn/contests/pat-a-practise/1024
#include<bits/stdc++.h>
const int maxn =10100;
using namespace std;
string s1,s2;
int num1[11],num2[11];
string fun(string s){
string ans,s2=s;
int n=s.length();
reverse(s2.begin(),s2.end());
int t=0;
int temp=0;
char c;
for(int i=0;i<n;i++){
temp=(int)(s[i]-'0'+s2[i]-'0')+t;
if(temp>=10){
t=1;
temp%=10;
c=temp+'0';
ans+=c;
}
else{
t=0;
c=temp+'0';ans+=c;
}
}
if(t)ans+=(t+'0');
reverse(ans.begin(),ans.end());
return ans;
}
int k;
int main(){
cin>>s1>>k;
int cnt=0;
int flag=1;
s2=s1;
reverse(s2.begin(),s2.end());
if(s2==s1)flag=0;
while(k--&&flag){
cnt++;
s1=fun(s1);
s2=s1;
reverse(s2.begin(),s2.end());
if(s2==s1)break;
}
cout<<s1<<endl;
cout<<cnt<<endl;
return 0;
}