哇塞塞,关于本蒟蒻用scratch搓了个高精度加法

而且还能去除前导0,哇咔咔真是太帅了


my 丑陋至极 的 code:
#include <iostream>
#include <cstring>
using namespace std;
int a[1000010], b[1000010], re[1000010];
int main() {
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
memset(re, 0, sizeof(re));
string sa, sb;
cin >> sa >> sb;
int la = sa.size(), lb = sb.size();
for (int i = 0; i < la; i++) a[1000009 - la + i] = sa[i] - '0';
for (int i = 0; i < lb; i++) b[1000009 - lb + i] = sb[i] - '0';
int carry = 0; // 进位
for (int i = 1000009; i >= 0; i--) {
int sum = a[i] + b[i] + carry; // 加上进位
re[i] = sum % 10; // 当前位
carry = sum / 10; // 更新进位
}
for (int i = 0; i <= 1000009; i++) {
if (re[i] != 0) { // 找到第一个非零的
cout << re[i];
}
}
}
本蒟蒻知道初始化0不对,但是有没有大佬改一下哇。
包关注