PAT (Advanced Level) Practice
1024 Palindromic Number
测试点5,6,8不通过,是为什么,请大神帮忙看看
#include<bits/stdc++.h>
using namespace std;
string add(string a,string b){
int n = a.size();
vector<int> temp(n+1,0);
for(int i = n-1;i>=0;i--){
int sum = a[i]-'0' + b[i]-'0';
temp[i+1] += sum%10;
temp [i] += sum/10;
}
int j=0;
string ans;
if(temp[j] == 0)
j++;
for(;j<=n;j++){
ans += to_string(temp[j]);
}
return ans;
}
int main(){
string s,rs;
int k;
cin>>s>>k;
int count =0 ;
while(count<k){
rs = s;
reverse(rs.begin(),rs.end());
if(rs == s){
cout<<s<<endl<<count;
return 0;
}
s = add(rs,s);
count++;
}
cout<<s<<endl<<count;
}