用一个数学公式来计算机1-n的乘法逆元,其速度优于扩展欧几里得算法
#define MOD 1000000007
ll kqow(ll a,ll b){
ll col = 1;
while(b){
if(b&1) col = (col * a) % MOD;
a = (a * a) % MOD;
b >>= 1;
}
return col;
}
//求一个数的乘法逆元:
val = kqow(a,MOD-2);
用一个数学公式来计算机1-n的乘法逆元,其速度优于扩展欧几里得算法
#define MOD 1000000007
ll kqow(ll a,ll b){
ll col = 1;
while(b){
if(b&1) col = (col * a) % MOD;
a = (a * a) % MOD;
b >>= 1;
}
return col;
}
//求一个数的乘法逆元:
val = kqow(a,MOD-2);