大家都实现了rev函数,但是其实本题就相当于从前往后进位的加法,前边的数算低位的,后边的数算高位的
/*比如123 100 就相当于 1 2 3 +1 0 0 =1 2 3 从前往后进位*/ #include<iostream> using namespace std; int main(){ string x,y; cin>>x>>y; int sizex=x.size(); int sizey=y.size(); if(sizex>sizey){ for(int j=0;j<sizex-sizey;j++)y+="0"; }else{ for(int j=0;j<sizey-sizex;j++)x+="0"; }int carry=0; for(int i=0;i<x.size();i++){ int num=x[i]-'0'+y[i]-'0'+carry; x[i]=num%10+'0'; carry=num/10; }if(carry!=0){ x+=to_string(carry); }int pos=0; while(x[pos]=='0')pos++; cout<<x.substr(pos)<<endl; return 0; }