洛谷 P1601 A+B Problem(高精)

题目描述

高精度加法,相当于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 }
 
原文地址:https://www.cnblogs.com/TheZealous/p/14291001.html