C 高精度減法模板

2021-08-21 07:24:21 字數 801 閱讀 8298

高精度減法要注意的是被減數必須必減數大,同時需要處理借位。方法類似於高精度加法。

#include 

#include

#include

#include

#include

#include

#define n 1001

using

namespace

std ;

int main ( )

for ( i = 0 ; i < lena ; i ++ ) a [ lena - i ] = int ( n1 [ i ] - '0' ) ;

for ( i = 0 ; i < lenb ; i ++ ) b [ lenb - i ] = int ( n2 [ i ] - '0' ) ;

i = 1 ;

while ( i <= lena || i<= lenb )

c [ i ] = a [ i ] - b [ i ] ;

i ++ ;

}

int lenc = i ;

while ( c [ lenc ] == 0 && lenc > 1 ) lenc -- ; //最高位為0,則不輸出

for ( i = lenc ; i >= 1 ; i -- ) printf ( "%d" , c [ i ] ) ;

return

0 ;}

c++模板小站:

c++高精度加法模板:

c++高精度乘法模板:

c++快速冪模板:

模板 C 高精度減法

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

C 高精度減法及模板

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

C 高精度減法及模板

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