给定正整数 n 与 p ,求 1 ~n 中的所有数在模 p 意义下的乘法逆元。p为质数。
1≤n≤3×10^6
n<p<20000528
#include<bits/stdc++.h>
#define int long long
using namespace std;
int inv[3000010],n,p;
signed main()
{
cin>>n>>p;
inv[1]=1;
cout<<inv[1]<<endl;
for(int i=2;i<=n;i++)
{
inv[i]=(p-p/i)*inv[p%i]%p;
cout<<inv[i]<<endl;
}
return 0;
}
tle了