定义
乘法逆元是一个十分有用的东西。
给定
就是说求
意义
在
可以由此取整
求法
费马小定理
求解
我们可以通过费马小定理,得:
所以:
线性递推
int n,p,f[3000010];
int main()
{
n=read();
p=read();
printf("%d\n",f[1]=1);
fr(i,2,n)
printf("%d\n",f[i]=(ll)(p-p/i)*f[p%i]%p);
rt 0;
}
练手题
Luogu P3811
需要快速幂
注:
程序中
int n,p;
int main()
{
n=read();
p=read();
fr(i,1,n)
printf("%d\n",power(i,p-2,p));
rt 0;
}