题目描述
实现一个加法器,使其能够输出a+b的值。
输入描述:
输入包括两个数a和b,其中a和b的位数不超过1000位。
输出描述:
可能有多组测试数据,对于每组数据,
输出a+b的值。
示例1
输入
2 6
10000000000000000000 10000000000000000000000000000000
输出
8
10000000000010000000000000000000
注意:此处用sring比较好操作
#pragma GCC optimize(2) #include<bits/stdc++.h> using namespace std; inline int read() {int x=0,f=1;char c=getchar();while(c!='-'&&(c<'0'||c>'9'))c=getchar();if(c=='-')f=-1,c=getchar();while(c>='0'&&c<='9')x=x*10+c-'0',c=getchar();return f*x;} typedef long long ll; const int maxn = 1e9+10; string str1,str2; int main() { while(cin>>str1>>str2) { string str; int len1=str1.length(); int len2=str2.length(); if(len1<len2){ for(int i=1;i<=len2-len1;i++){ str1="0"+str1; } } else{ for(int i=1;i<=len1-len2;i++){ str2="0"+str2; } } len1=str1.length(); int c=0; int temp; for(int i=len1-1;i>=0;i--){ temp=str1[i]-'0'+str2[i]-'0'+c; c=temp/10; temp%=10; str=char(temp+'0')+str; } if(c!=0){ str=char(c+'0')+str; } cout<<str<<endl; } return 0; }