写在前面
连续两天考了求逆元。。。。。。所以想着写一篇关于线性求逆元的博客。。
先给程序:
inv[1]=1;
for(int i=2;i<=n;++i)
inv[i]=MOD-(long long)MOD/i*inv[MOD%i]%MOD;
然后一波推导:
我们要求i在模p意义下的逆元inv[i],那么我们就设ki+r=p,所以ki+r0(mod p)。
移项可以得到:r-ki(mod p)。
两边同时除以ir,就可以得到这个式子:
连续两天考了求逆元。。。。。。所以想着写一篇关于线性求逆元的博客。。
inv[1]=1;
for(int i=2;i<=n;++i)
inv[i]=MOD-(long long)MOD/i*inv[MOD%i]%MOD;
我们要求i在模p意义下的逆元inv[i],那么我们就设ki+r=p,所以ki+r0(mod p)。
移项可以得到:r-ki(mod p)。
两边同时除以ir,就可以得到这个式子: