题目描述
计算a+b的值,a,b皆为不超过240位的正整数。
输入
两个正整数,每行一个
输出
一个数,代表两个整数的和
样例输入
111111111111111111111111111111111111 222222222222222222222222222222222222
样例输出
333333333333333333333333333333333333
代码如下:
#include<bits/stdc++.h>
using namespace std;
int a[300],b[300],c[300],d[300];
int main(){//1:输入2个字符串代表2个正整数string x,y;cin>>x>>y;//2:将xy逆序转为2个整数数组,个位需要存到a[1]reverse(x.begin(),x.end());int lx=x.size();//字符串x的长度 for(int i=0;i<lx;i++){a[i+1]=x[i]-'0';}reverse(y.begin(),y.end());int ly=y.size();//字符串y的长度 for(int i=0;i<ly;i++){b[i+1]=y[i]-'0';}//3:模拟加法运算int l=max(lx,ly);l++;for(int i=1;i<=l;i++){int t=a[i]+b[i]+c[i];if(t>=10){c[i+1]=1;d[i]=t%10;}else d[i]=t;}//4:去掉前导零while(d[l]==0&&l!=1) l--;//5:逆序输出d数组for(int i=l;i>=1;i--) cout<<d[i];return 0;
}