和1023很像啦
#include<iostream>
#include <cstring>
using namespace std;
bool check(char * a){
int l=strlen(a);
for(int i=0;i<l/2;i++){
if (a[i]!=a[l-1-i])return false;
}
return true;
}
int main(){
char a[100],r[100];//这个长度有可能还会加
int k,num=0,l,jin=0,temp;
cin>>a>>k;
if (check(a)){
cout<<a<<endl<<"0";
return 0;
}
for(num=0;num<k;){
l=strlen(a);
for(int i=0;i<l;i++)r[l-i-1]=a[i];
jin=0;
for(int i=l-1;i>=0;i--){
temp=a[i]+r[i]-'0'*2+jin;
a[i]=temp%10+'0';
jin=temp/10;
}
if (jin){
for(int i=l-1;i>=0;i--){
a[i+1]=a[i];
}
a[0]='1';
a[l+1]='\0';
}
num++;
if (check(a))break;
}
printf("%s\n%d",a,num);
return 0;
}