輸入格式
共兩行,每行包含乙個整數。
輸出格式
共一行,包含所求的差。
資料範圍
1≤整數長度≤105
輸入樣例:
3211
輸出樣例:
212、基本思想:
此演算法適用於高精度整數的減法,是將整數的每一位存入乙個陣列,然後遵循「不夠減向前借位補十」的原則,用人工加減的方法求和。
3、步驟:
①用字串輸入,將相加的兩個數a, b每一位拆分倒序(個位在前)存入a,b兩個陣列
②寫乙個函式判斷a,b的大小,若a比b小則引用時交換函式中a,b的位置,在前輸出乙個負號
③利用t來表示每一位相減的得數再+10後對10取餘則完成了不夠減向前借位補十的過程。
④正序輸出結果c
#include
#include
using
namespace std;
vector<
int>
sub(vector<
int>
&a, vector<
int>
&b);
bool
cmp(vector<
int>
&a, vector<
int>
&b);
intmain()
else
return0;
}bool
cmp(vector<
int>
&a, vector<
int>
&b)//比較a,b大小,a>=b返回真,a
//依據每一位的大小比較
return
true
;//相等時返回真
}vector<
int>
sub(vector<
int>
&a, vector<
int>
&b)while
(c.size()
>
1&& c.
back()
==0) c.
pop_back()
;//由於是倒序存入,所以要清空前面的0
return c;
}//該**引用acwing**的**
注意事項(基於高精度加法,重複的注意事項不贅述):
①要多寫乙個函式判斷減數和被減數的大小
②結果是倒序存入,比如225-221=4會輸出004,有多餘的0所以用c.pop_back()把前導0去掉。
acwing 792 高精度減法
給定兩個正整數,計算它們的差,計算結果可能為負數。輸入格式 共兩行,每行包含乙個整數。輸出格式 共一行,包含所求的差。資料範圍 1 整數長度 105 10 5 105輸入樣例 3211 輸出樣例 21 include include include using namespace std vecto...
AcWing 792 高精度減法
題目描述 給定兩個正整數,計算它們的差,計算結果可能為負數。輸入格式 共兩行,每行包含乙個整數。輸出格式 共一行,包含所求的差。資料範圍 1 整數長度 105 輸入樣例32 11輸出樣例21題目思路 低角標存低位,高角標存高位 依次進製 include include includeusing na...
Acwing 792 高精度減法 模板
給定兩個正整數,計算它們的差,計算結果可能為負數。輸入格式 共兩行,每行包含乙個整數。輸出格式 共一行,包含所求的差。資料範圍 1 整數長度 105 輸入樣例 3211 輸出樣例 21 include include using namespace std vector int a,b,c stri...