题目描述
高精度加法,相当于a+b problem,不用考虑负数.
输入格式
分两行输入。a,b≤10500
输出格式
输出只有一行,代表a+b的值
输入输出样例
输入 #1
1 1
输出 #1
2
输入 #2
1001 9099
输出 #2
10100
代码实现
1 #include <cstdio> 2 #include <cstring> 3 using namespace std; 4 long long c[10000001]={},a[100000001]={},b[10000001]={},la,lb,lc=1,x=0; 5 char sa[100005],sb[100005]; 6 7 int main() 8 { 9 scanf("%s",sa); 10 scanf("%s",sb); 11 la=strlen(sa); 12 lb=strlen(sb); 13 for(int k=0;k<=la-1;k++) 14 { 15 a[la-k]=sa[k]-'0'; 16 } 17 for(int k=0;k<=lb-1;k++) 18 { 19 b[lb-k]=sb[k]-'0';//不减一 20 } 21 while(lc<=lb||lc<+la) 22 { 23 c[lc]=a[lc]+b[lc]+x; 24 x=c[lc]/10; 25 c[lc]%=10; 26 lc++; 27 } 28 c[lc]=x; 29 if(c[lc]==0){ 30 lc--; 31 } 32 for(int i=lc;i>=1;i--) 33 { 34 printf("%lld",c[i]); 35 } 36 return 0; 37 }