文章
52
粉丝
68
获赞
22
访问
11.5k
#include <bits/stdc++.h>
using namespace std;
const int LEN=1001;
struct BigInteger{
int data[LEN];
int length;
void init(){
for(int i=0;i<LEN;i++)data[i]=0;
}
BigInteger(string s){
init();
length=s.size();
for(int i=0;i<length;i++){
data[i]=s[length-1-i]-'0';
}
}
BigInteger operator+(BigInteger b){
BigInteger ans("");
int carry=0;
for(int i=0;i<length||i<b.length;i++){
int k=data[i]+b.data[i]+carry;
carry=k>=10?k/10:0;
ans.data[ans.length++]=k%10;
}
if(carry!=0)ans.data[ans.length++]=carry;
return ans;
}
};
int main(){
string a,b;
while(cin>>a>>b){
BigInteger x(a),y(b);
BigInteger z=x+y;
for(int i=z.length-1;i>=0;i--){
cout<<z.data[i];
}cout<<endl;
}
}
看着很复杂,其实很简单,我们对于str...
登录后发布评论
如果同学们使用Java或者python,直接调用大数库即可