hiho1530(乘法逆元)(擴展歐幾裏得)
阿新 • • 發佈:2018-04-07
利用 fault clu 技術分享 GC pos exgcd 其中 div
,例如: 3 / 2 MOD 7 = 3 × 2-1 MOD 7 = 3 × 4 MOD 7 = 5
#1530 : 分數取模
時間限制:1000ms 單點時限:10000ms 內存限制:256MB描述
給定三個正整數 a、 b 和 p,滿足 b 和 p 互質。這時分數 a / b 除以 p 的余數,即 a / b MOD p 可以定義為 a × b-1 MOD p。
其中b-1 是 b 的逆元,它滿足 1 ≤ b-1 < p 且 b × b-1 ≡ 1 MOD p,滿足上述條件的 b-1有且僅有一個。
例如 2-1 ≡ 4 MOD 7,因為2 × 4 ≡ 1 MOD 7; 3-1 ≡ 3 MOD 8,因為3 × 3 ≡ 1 MOD 8。
於是我們可以利用b-1求出a / b MOD p
給定三個正整數 a、 b 和 p,滿足 b 和 p 互質,求 a / b MOD p。
輸入
第一行包含3個正整數,a、b 和 p 滿足 b 和 p 互質。
對於30%的數據,1 ≤ a, b < p ≤ 100
對於80%的數據,1 ≤ a, b < p ≤ 100000
對於100%的數據,1 ≤ a, b < p ≤ 1000001333
輸出
輸出 a / b MOD p的值。
- 樣例輸入
-
3 2 7
- 樣例輸出
-
5
這個代碼使用擴展gcd求乘法逆元。#include<cstdio> long
View Code
hiho1530(乘法逆元)(擴展歐幾裏得)