stl真是好用啊,C里的脏活累活都帮我们干了……
#include <iostream> #include <algorithm> #include <string> using namespace std; string Add(string s1,string s2) { int carry=0,len=s1.length(); string temp=s1; for(int i=len-1;i>=0;i--) { temp[i]='0'+(carry+s1[i]-'0'+s2[i]-'0')%10; carry=(carry+s1[i]-'0'+s2[i]-'0')/10; } if(carry)temp="1"+temp; return temp; } int main() { int K,cnt=0; string N; cin>>N>>K; for(int i=0;i<K;i++) { string rev=N; reverse(rev.begin(),rev.end()); if(N==rev)break; N=Add(N,rev); cnt++; } cout<<N<<endl<<cnt; }