P3811 【模板】乘法逆元
O(n)求1~n的逆元

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,p;
int inv[3000005];
int main()
{
   
    scanf("%d%d",&n,&p);
    inv[1]=1;
    printf("1\n");
    for(int i=2;i<=n;i++)
    {
   
        inv[i]=1ll*(p-p/i)*inv[p%i]%p;
        printf("%d\n",inv[i]);
    }
    return 0;
}