Pagini recente » Cod sursa (job #587865) | Cod sursa (job #566435) | Cod sursa (job #2488793) | Cod sursa (job #1443620) | Cod sursa (job #2800747)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("curcubeu.in");
ofstream out ("curcubeu.out");
const int VAL=1e6+2;
int n,v[VAL],m[VAL],p[VAL];
int rez[VAL],inv[VAL];
int main()
{
in>>n>>v[1]>>m[1]>>p[1];
for(int i=2;i<n;++i)
{
v[i]=(1LL*v[i-1]*i)%n;
m[i]=(1LL*m[i-1]*i)%n;
p[i]=(1LL*p[i-1]*i)%n;
}
for(int i=n-1;i>0;--i)
{
if(v[i]>m[i])
{
int aux=v[i];
v[i]=m[i];
m[i]=aux;
}
for(int j=v[i];j<=m[i];++j)
{
if(inv[j]==0)
{
rez[j]=p[i];
inv[j]=m[i];
}
else
j=inv[j];
}
}
for(int i=1;i<n;++i)
out<<rez[i]<<'\n';
return 0;
}