高精度

发布时间 2023-10-13 13:41:32作者: libohan0518

用处

当我们做一些(SB)题时,会发现答案有可能会爆longlong,那么这时候就要用高精度了

实现

高精度其实就是用一个数组存数位来表示这个数,然后模拟加,减,乘的过程来算出答案

高精度板子(加法)

for (int i = 10000; i >= 1; i--) {
  c[i] += (a[i] + b[i]) % 10;
  c[i + 1] += (a[i] + b[i]) / 10;
}

a和b数组用来记录你要相加的两个数,c表示答案

输出答案

int p = 10000;
while (c[p] == 0 && p > 1) {//即使答案为0我也会输出
  p--;
}
for (int i = p; i >= 1; i--) {//因为我是从低到高存的,所以要倒序
  cout << c[i];
}