高精度
运算:加法、减法、阶乘、乘法
翻转:
这些运算都是从小位开始,所以一般需要翻转。以字符串储存:reverse(a.begin(),a,end())。以数组储存:
for (int i1 = lena1 - 1; i1 >= 0; i1--) {
a1[lena1-1-i1] = a[i1] - '0';
}
加法、减法:
for(int k=0;k<ll+1;k++){//进位运算
if(ans[k]>'9'){
ans[k]-=10;
ans[k+1]++;
}
}
for(int k=0;k<ll;k++){//借位运算
if(ans[k]<'0'){
ans[k]+=10;
// cout<<ans[k];
ans[k+1]--;
}
}
乘法:
if(a[i]>=10)
{
a[i+1]+=a[i]/10;
a[i]%=10;
}
a[i]*=N;
具体题目:
P1120 大整数加法
题目描述
给出两个 200 位以内的正整数,求其和。
输入描述
多组测试数据。每组测试数据包括两行,每行一个数。
输出描述
每组测试输出一行,为所求两个整数之和。
样例输入
123
456
样例输出
579