大家都实现了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;
}


京公网安备 11010502036488号