只对了两个点:
#include<bits/stdc++.h>
#define ing long long
#define endl "\n"
using namespace std;
int inv[3123456];
int 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;
}
改成以下就过了
#include <bits/stdc++.h>
using namespace std;
long long inv[3123456];
int main()
{
long long n,p;
cin>>n>>p;
inv[1]=1;
cout<<inv[1]<<"\n";
for(int k=2;k<=n;k++)
{
inv[k]=(p-p/k)*inv[p%k]%p;
cout<<inv[k]<<"\n";
}
return 0;
}
求问错误原因