ACM C 版 高精度模板 加減乘除

2021-10-05 04:18:48 字數 3547 閱讀 3137

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

輸入格式

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

輸出格式

共一行,包含所求的和。

資料範圍

1≤整數長度≤100000

模板:

#include

#define ll long long

#define pa pair

#define ls k<<1

#define rs k<<1|1

#define inf 0x3f3f3f3f

using

namespace std;

const

int n=

100100

;const

int m=

50100

;const ll mod=

10007

;vector<

int>a,b;

int len,c[n]

;void

add(vector<

int>

&a,vector<

int>

&b) len=

max(a.

size()

,b.size()

);for(

int i=

0;i<=len;i++

) c[i+1]

+=c[i]/10

,c[i]%=

10;while

(len>

0&&c[len]==0

) len--

;return;}

intmain()

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

輸入格式

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

輸出格式

共一行,包含所求的差。

資料範圍

1≤整數長度≤105

這個相比於加法,多了個判斷,要保證a-b(a>=b);

模板:

#include

#define ll long long

#define pa pair

#define ls k<<1

#define rs k<<1|1

#define inf 0x3f3f3f3f

using

namespace std;

const

int n=

100100

;const

int m=

50100

;const ll mod=

10007

;vector<

int>a,b;

int len,c[n]

;bool

judge

(vector<

int>

&a,vector<

int>

&b)return

true;}

void

sub(vector<

int>

&a,vector<

int>

&b) len=a.

size()

;for

(int i=

0;i<=len;i++

)while

(len>

0&&c[len]==0

) len--

;return;}

intmain()

else

return0;

}

題目描述

求兩數的積。

輸入格式

兩行,兩個整數。

輸出格式

一行乙個整數表示乘積。

說明/提示

每個數字不超過 10^2000,需用高精。

模板:

#include

#define ll long long

#define pa pair

#define ls k<<1

#define rs k<<1|1

#define inf 0x3f3f3f3f

using

namespace std;

const

int n=

100100

;const

int m=

50100

;const ll mod=

10007

;vector<

int>a,b;

int len,c[n]

;void

mul(vector<

int>

&a,vector<

int>

&b) len=a.

size()

+b.size()

;for

(int i=

0;i<=len;i++

) c[i+1]

+=c[i]/10

,c[i]%=

10;while

(len>

0&&c[len]==0

) len--

;return;}

intmain()

題目描述

輸入兩個整數 a,b輸出它們的商。

輸入格式

兩行,第一行是被除數,第二行是除數。

輸出格式

一行,商的整數部分。

說明/提示

0≤a≤10^5000,1≤b≤10 ^9

這裡的除數範圍只有1到1e9,所以這裡的除法運算特別簡單,但是如果除數範圍變的跟被除數一樣,就非常困難了;

這個跟上面三種都不太一樣,存數由大到小存,然後會有前導0,要排除掉;

模板:

#include

#define ll long long

#define pa pair

#define ls k<<1

#define rs k<<1|1

#define inf 0x3f3f3f3f

using

namespace std;

const

int n=

100100

;const

int m=

50100

;const ll mod=

10007

;vector<

int>a;

int len,c[n]

;void

div(vector<

int>

&a,int b)

}int

main()

return0;

}

高精度加減乘除模板

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

高精度 加減乘除 模板

例題 高精度加法 題目描述 給定兩個正整數,計算它們的和。輸入格式 共兩行,每行包含乙個整數。輸出格式 共一行,包含所求的和。資料範圍 1 整 數長度 100000 1 整數長度 100000 1 整數長度 100 000 輸入樣例 12 23輸出樣例 35c 版本一 include include...

高精度 加減乘除 模板

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