大数题,反转数字相加
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <vector>
#include <map>
#include <stack>
#include <queue>
#include <algorithm>
#include <set>
using namespace std;
string add(string s1,string s2){
string res="";
int c=0,sum;
int len=s1.size();
for(int i=len-1;i>=0;i--){
sum=c+s1[i]-'0'+s2[i]-'0';
res.insert(res.begin(),sum%10+'0');
c=sum/10;
}
if(c>0)
res.insert(res.begin(),c+'0');
return res;
}
int main(){
string str,s;
int k,cnt=0;
while(cin>>str>>k){
while(cnt<k){
s=str;
reverse(str.begin(),str.end());
if(s==str)
break;
else
str=add(s,str);
cnt++;
}
printf("%s\n",str.c_str());
printf("%d",cnt);
}
return 0;
}