高精度 運算:加法、減法、階乘、乘法 翻轉: 這些運算都是從小位開始,所以一般需要翻轉。以字元串儲存:reverse(a.begin(),a,end())。以數組儲存: for (int i1 = lena1 - 1; i1 >= 0; i1--) { a1[lena1-1-i1] = a[i1] ...
運算:加法、減法、階乘、乘法
翻轉:
這些運算都是從小位開始,所以一般需要翻轉。以字元串儲存: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