高精度 加減乘除 模板

2021-10-19 21:00:15 字數 4161 閱讀 7965

例題:高精度加法

題目描述:

給定兩個正整數,計算它們的和。

輸入格式

共兩行,每行包含乙個整數。

輸出格式

共一行,包含所求的和。

資料範圍

1 ≤整

數長度≤

100000

1≤整數長度≤100000

1≤整數長度

≤100

000

輸入樣例:

12

23

輸出樣例:

35
c++**版本一

#include

#include

#include

#include

using

namespace std;

const

int n =

1e6+10;

vector<

int>

add(vector<

int>

&a, vector<

int>

&b)if

(t) c.

push_back(1

);//判斷最高位是否有進製

return c;

}int

main()

c++**版本二

#include

#include

#include

#include

using

namespace std;

const

int n =

1e6+10;

vector<

int>

add(vector<

int>

&a,vector<

int>

&b)if

(t) c.

push_back(1

);return c;

}int

main()

例題:高精度減法

題目描述:

給定兩個正整數,計算它們的差,計算結果可能為負數。

輸入格式

共兩行,每行包含乙個整數。

輸出格式

共一行,包含所求的差。

資料範圍1≤整

數長度≤

10

51≤整數長度≤10^5

1≤整數長度

≤105

輸入樣例:

32

11

輸出樣例:

21
c++**

#include

#include

#include

#include

using

namespace std;

const

int n =

1e6+10;

判斷是否有 a >= b?

bool

cmp(vector<

int>

&a, vector<

int>

&b)}

return

true;}

// c = a - b

vector<

int>

sub(vector<

int>

&a, vector<

int>

&b)while

(c.size()

>

1&& c.

back()

==0) c.

pop_back()

;//去掉前導0

return c;

}int

main()

else

}

本題高精度乘法指的是乙個高精度數乘以乙個低精度的數。

例題:高精度乘法

題目描述:

給定兩個正整數a和b,請你計算a * b的值。

輸入格式

共兩行,第一行包含整數a,第二行包含整數b。

輸出格式

共一行,包含a * b的值。

資料範圍

1 ≤a

的長度≤

100000

,1≤a的長度≤100000,

1≤a的長度

≤100

000,

1 ≤b

≤10000

1≤b≤10000

1≤b≤10

000

輸入樣例:

2

3

輸出樣例:

6
c++**

#include

#include

#include

#include

using

namespace std;

const

int n =

1e6+10;

vector<

int>

mul(vector<

int>

&a,int b)

return c;

}int

main()

例題:高精度除法

題目描述:

給定兩個正整數a,b,請你計算 a / b的商和餘數。

輸入格式

共兩行,第一行包含整數a,第二行包含整數b。

輸出格式

共兩行,第一行輸出所求的商,第二行輸出所求餘數。

資料範圍1≤a

的長度≤

100000

,1≤a的長度≤100000,

1≤a的長度

≤100

000,

1 ≤b

≤10000

1≤b≤10000

1≤b≤10

000

輸入樣例:

7

2

輸出樣例:

3

1

c++**

#include

#include

#include

#include

#include

using

namespace std;

const

int n =

1e6+10;

//a/b 商是c 餘數是r

vector<

int>

div(vector<

int>

&a,int b,

int& r)

reverse

(c.begin()

,c.end()

);while

(c.size()

>

1&& c.

back()

==0) c.

pop_back()

;return c;

}int

main()

高精度加減乘除模板

include include include using namespace std const int power 1 每次運算的位數為10的power次方,在這裡定義為了方便程式實現 const int base 10 10的power次方。要壓位的時候,只需改power 和 base即可,如...

高精度 加減乘除 模板

座位旁邊乙個同學,哼著歌,說著 要用高精度啊,好麻煩,不想寫啊啊啊,不想寫啊,不想寫啊 他的這首歌持續了大約6min,然後他的dev裡乙個漂亮的高精度運算 已經寫好了。看來大公尺餅也不能甘於落後啊,模板來啦 1 include2 include3 include4 define ll long lo...

高精度 模板 高精度整數加 減 乘 除模板

加減 乘除高精度加減乘除模板,可能會在求方案數 求組合數等情況下遇到,c 整形範圍 整型數範圍 int8 128 127 uint8 0 256 int16 32768 32767 uint16 0 65535 int32 2147483648 2147483647 uint32 0 4294967...