# 同余

两个整数 a,ba, b,如果(ab)%m=0(a - b) \% m = 0,则称 aba、b 对于模 mm 同余,记作 ab(modm)a ≡ b(mod~m),读作:aa 同余于 bbmm
ab(moda ≡ b(mod m)m) \to (ab)(a - b) %\% m==0m == 0

# 何谓 "逆元"?

取模的条件下,除以一个数等于乘以这个数的乘法逆元

x/2%107x54%107x / 2 \% 107 ≡ x* 54 \% 107

那么 5454 就是 22 在模 107107 条件下的乘法逆元
一个数 aa 存在乘法逆元的充要条件是 aa 与模数 mm 互质。
当模数 mm 为质数时,am2a^{m−2} 即为 aa 的乘法逆元

c++
1
2
3
4
5
6
7
8
9
10
11
12
13
int qmi(int a, int b, int MOD) {
int res = 1;
while (b) {
if (b & 1)
res *= b;
b >>= 1, a = a * a % MOD;
}
return res;
}

int main() {
(a / b) % MOD = a * qmi(b, MOD - 2) % MOD
}

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

duoxichangan 微信支付

微信支付

duoxichangan 支付宝

支付宝