#2695. 基础练习 高精度加法

基础练习 高精度加法

题目描述

输入两个整数 aabb,输出这两个整数的和。aabb 都不超过 100100 位。

由于 aabb 都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组 AAA[0]A[0] 用于存储 aa 的个位,A[1]A[1] 用于存储 aa 的十位,依此类推。同样可以用一个数组 BB 来存储 bb。 计算 c=a+bc = a + b 的时候,首先将 A[0]A[0]B[0]B[0] 相加,如果有进位产生,则把进位(即和的十位数)存入 rr,把和的个位数存入 C[0]C[0],即 C[0]=(A[0]+B[0])mod10C[0] = (A[0]+B[0]) \bmod 10。然后计算 A[1]A[1]B[1]B[1] 相加,这时还应将低位进上来的值 rr 也加起来,即 C[1]C[1] 应该是 A[1]A[1]B[1]B[1]rr 三个数的和.如果又有进位产生,则仍可将新的进位存入到 rr 中,和的个位存到 C[1]C[1] 中。依此类推,即可求出 CC 的所有位。 最后将 CC 输出即可。

输入格式

输入包括两行,第一行为一个非负整数 aa,第二行为一个非负整数 bb。两个整数都不超过 100100 位,两数的最高位都不是 00

输出格式

输出一行,表示 a+ba + b 的值。

样例

样例输入
20100122201001221234567890
2010012220100122
样例输出
20100122203011233454668012

数据范围与提示

  • aabb 的位数均不超过 100100 位。
  • 保证输入无前导零(除非数值为零)。