位運算 64位整數乘法

2021-10-21 18:05:39 字數 953 閱讀 6997

64位整數乘法題目鏈結

題目大意

求 a

aa 乘 b

bb 對 p

pp 取模的值,其中 1 ≤

\leq≤aa

a,bb

b,pp

p≤\leq≤10

1810^

1018

輸入格式

第一行輸入整數a

aa,第二行輸入整數b

bb,第三行輸入整數ppp。

輸出格式

輸出乙個整數,表示 a∗b

a*ba∗bmo

dmod

modp

pp的值。

輸入樣例

2

39

輸出樣例

6
將 b

bb 拆分,b

bb 在計算機的二進位制就是 (11)

2(11)_2

(11)2​

,2×

\times

× 3 =2×

\times

×(2+1),列舉拆分的 b

bb 的每一位二進位制位。時間複雜度是 log

(b

)log(b)

log(b)

#include

using

namespace std;

typedef

long

long ll;

ll qmul

(ll a, ll b, ll p)

return ret%p;

}int

main()

UPC 位運算64位整數乘法

時間限制 1 sec 記憶體限制 128 mb 提交 111 解決 56 提交 狀態 討論版 命題人 admin 題目描述 求 a 乘 b 對 p 取模的值,其中 1 a,b,p 10 18。輸入第一行a,第二行b,第三行p。輸出乙個整數,表示a b mod p的值。樣例輸入 2 39樣例輸出 6 ...

64位整數乘法

64位整數乘法 求 a 乘 b 對 p 取模的值。輸入格式 第一行輸入整數a,第二行輸入整數b,第三行輸入整數p。輸出格式 輸出乙個整數,表示a b mod p的值。資料範圍 1 a,b,p 1018 看到這個資料範圍有點茫然 跑去查了下unsigned long long 最近做題的時候,經常遇到...

位運算 90 64位整數乘法

求 a 乘 b 對 p 取模的值。輸入格式 第一行輸入整數 a,第二行輸入整數 b,第三行輸入整數 p。輸出格式 輸出乙個整數,表示a b mod p的值。資料範圍 1 a,b,p 1e18 輸入樣例 3 45輸出樣例 2差點粘個大數板子2333 思路 1.b b1 b2 b3 a b p a b1...