模板 C 高精度減法

2021-09-25 17:07:30 字數 792 閱讀 8608

高精度減法和高精度加法同理,都是模擬人在紙上進行的運算。但與高精度加法不同的是,高精度減法在運算前要保證大的數減去小的數,如果輸入的被減數小於減數,則需調換被減數與減數字置並在結果前新增負號。當進行到某一位運算需要借位時,直接將更高一位的數字減一,並用10減去減數的這一位,再加上被減數。

**如下

#include

#include

#include

using

namespace std;

string sub_int

(string _a, string _b)

int delta = a.

length()

- b.

length()

;//在b的前面補上前導零,確保兩數等長

for(

int i =

0; i < delta; i++

) b =

"0"+ b;

//從低位到高位進行減法

for(

int i = a.

length()

-1; i >=

0; i--)}

reverse

(result.

begin()

, result.

end())

;if(minus)

return

"-"+ result;

else

return result;

}int

main()

C 高精度減法模板

高精度減法要注意的是被減數必須必減數大,同時需要處理借位。方法類似於高精度加法。include include include include include include define n 1001 using namespace std int main for i 0 i lena i a ...

C 高精度減法及模板

在資料範圍超過long long 的範圍時,就要考慮到高精度,對於高精度減法而言,本文介紹的兩個數均 0,高精度減法的實質是用 去模擬我們的減法運算,包括借位 正負號種種問題,這裡用vector 來模擬兩個大數相減,先貼 pragma gcc optimize 2 include include i...

C 高精度減法及模板

在資料範圍超過long long 的範圍時,就要考慮到高精度,對於高精度減法而言,本文介紹的兩個數均 0,高精度減法的實質是用 去模擬我們的減法運算,包括借位 正負號種種問題,這裡用vector 來模擬兩個大數相減,先貼 pragma gcc optimize 2 include include i...