大數運算(高精度運算)

2021-10-02 11:42:00 字數 2859 閱讀 6643

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

輸入格式

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

輸出格式

共一行,包含所求的和。

資料範圍

1≤整數長度≤100000

輸入樣例:

1223

輸出樣例:

35

#include

#include

#include

using

namespace std;

typedef

long

long ll;

vector<

int> a,b,res;

string m,n;

intmain()

for(

int i=res.

size()

-1;i>=

0;i--

)printf

("%d"

,res[i]);

return0;

}

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

輸入格式

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

輸出格式

共一行,包含所求的差。

資料範圍

1≤整數長度≤105

輸入樣例:

3211

輸出樣例:

21

#include

#include

#include

using

namespace std;

string a,b;

vector<

int> m,n,res;

bool

judge

(vector<

int> a,vector<

int> b)

else

return a.

size()

>b.

size()

;return

true;}

void

minu

(vector<

int> a,vector<

int> b)

while

(res.

size()

>

1&&res.

back()

==0) res.

pop_back()

;}intmain()

else

minu

(m,n)

;for

(int i=res.

size()

-1;i>=

0;i--

)printf

("%d"

,res[i]);

return0;

}

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

輸入格式

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

輸出格式

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

資料範圍

1≤a的長度≤100000,

1≤b≤10000

輸入樣例:23

輸出樣例:

6

#include

#include

#include

using

namespace std;

vector<

int> a,res;

int n;

string m;

void

mul(vector<

int> a,

int b)

while

(t)}

intmain()

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

輸入格式

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

輸出格式

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

資料範圍

1≤a的長度≤100000,

1≤b≤10000

輸入樣例:72

輸出樣例:31

#include

#include

#include

using

namespace std;

vector<

int> a,res;

string m;

int n,t;

void

divide

(vector<

int> a,

int b)

reverse

(res.

begin()

,res.

end())

;while

(res.

size()

>

1&&res.

back()

==0) res.

pop_back()

;}intmain()

大數(高精度)運算

在數 算中,經常會碰到這樣的問題 參與運算的資料很大或者對運算結果的精度要求很高。而在計算機語言中,描述資料的資料型別的位元組數是固定的,因此其有大小和精度的限制。例如在c c 語言中,整型int 32位 的範圍在 2 31 2 31 1,即 2,147,483,648 2,147,483,647,...

高精度運算(大數)

求模 mod 直接在草稿紙上用小學方法算除法就能看出來 1 include2 include 3char m 1010 4 int main 10 printf d n temp 11 12return0 13 大數階乘 模板。理解就好。1 include2 include 3 define n 1...

高精度運算(大數加法)

在計算過大的數字時,我們可以使用字串進行儲存,再模擬計算過程,結果也用字串儲存,最後輸出這個字串 加法 include include include includeusing namespace std int main l1 l2 int g 0 while l2 0 while l1 0 if...