#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string addTwo(string a,string b){
string res;
int c = 0;
unsigned int i = a.length() - 1;
for( ;i != -1;i--){
int temp = ((int)a[i] - '0') + ((int)b[i] - '0') + c;
c = temp / 10;
char ins = (char)temp % 10 + '0';
res.insert(res.begin(),ins);
}
if(c != 0){
char ins = (char)c + '0';
res.insert(res.begin(),ins);
}
return res;
}
int main(){
string num,revNum;
int k;
cin>>num;
scanf("%d",&k);
revNum = num;
reverse(revNum.begin(),revNum.end());
int i = 0;
while(num != revNum && i < k){
num = addTwo(num,revNum);
revNum = num;
reverse(revNum.begin(),revNum.end());
i++;
}
cout<<num<<endl<<i;
system("pause");
return 0;
}
PAT | A1024 Palindromic Number
最新推荐文章于 2024-10-18 22:48:33 发布