逆元
x 在mod p
下的逆元记作 inv(x,p) (a + b) % p = (a%p + b%p) %p (对) (a - b) % p = (a%p - b%p) %p (对) (a * b) % p = (a%p * b%p) %p (对) (a / b) % p = (a%p / b%p) %p (错) 要先求出b关于a的逆元,就转换为乘法 (a / b) % p = (a * inv(b)) % p = (a % p * inv(b) % p) % p 求法:(同快速幂)
ksm(a, b) 的位置将 需要求逆元的数和模数 - 2传入
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 1e6 + 10;
const int mod = 1e9 + 7;
ll fun(ll a, ll b){
ll res = 1;
while(b){
if(b & 1) ans = ans * a % p;
b >>= 1;
a = a * a % p;
}
return res;
}
int main()
{
ll a, ll b;
fun(b, p - 2); //求b的逆元
}