高精度模板大杂烩
想必大家小学都学过竖式计算吧,高精度就是一种模拟小学生计算
的算法
例题传送门
模板
这里的模板采用了STL容器 v e c t o r vector vector,方便维护最后得到的结果
高精度乘除减法都需要判断前导零
加法
#include <bits/stdc++.h>
using namespace std;
vector<int> add(vector<int> &A,vector<int> &B)
{
if(B.size() > A.size()) return add(B,A);
int t = 0;
vector<int> c;
for(int i = 0;i < A.size();i ++ )
{
t += A[i];
if(i < B.size()) t += B[i];
c.push_back(t % 10);
t /= 10;
}if(t) c.push_back(t);
return c;
}
int main()
{
string a,b;
cin >> a >> b;
vector<int> A,B;
for(int i = a.size() - 1;i >= 0;i -- ) A.push_back(a[i] - '0');
for(int i = b.size() - 1;i >= 0;i -- ) B.push_back(b[i] - '0');
auto c = add(A,B);
for(int i = c.size() - 1;i >= 0;i -- ) cout << c[i]