#include<cstdio> const int N=3e6+10; int inv[N]; int main() { int n,p;scanf("%d%d",&n,&p); inv[1]=1; for(int i=2;i<=n;i++) inv[i]=1ll*(p-p/i)*inv[p%i]%p; for(int i=1;i<=n;i++) printf("%d\n",inv[i]); return 0; } 总结 补一个线性递推逆元的模板。以后注意凡是有乘法都开long long