这些运算都是从小位开始,所以一般需要翻转。以字符串储存: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;
给出两个 200 位以内的正整数,求其和。
多组测试数据。每组测试数据包括两行,每行一个数。
每组测试输出一行,为所求两个整数之和。
123
456
579