1. 思路
其实就是模拟,加法是最简单的,从个位开始加,价位加到前一位,然后再取10的余数。
for (int i = 1; i <=len ; ++i) {
// 计算和
c[i] += a[i]+b[i];
// 进位
c[i+1] = c[i]/10;
// 取10的余数
c[i]%=10;
}
2. 实现
int len = max(A.length(),B.length());
// 倒着存,个位到十位,百位。。
for (int i = A.length()-1,j=1; i >=0 ; i--,j++) {
a[j] = A[i] - '0';
}
for (int i = B.length()-1,j=1; i >= 0; i--,j++) {
b[j] = B[i]-'0';
}
for (int i = 1; i <=len ; ++i) {
c[i] += a[i]+b[i];
c[i+1] = c[i]/10;
c[i]%=10;
}
if (c[len+1])len++;
// 逆序输出
for (int i = len;