Pagini recente » Cod sursa (job #2146540) | Cod sursa (job #2853791) | Profil M@2Te4i | Istoria paginii utilizator/busik | Cod sursa (job #185866)
Cod sursa(job #185866)
#include <stdio.h>
#define maxl 1000010
int i,j,k,n;
int a[maxl],b[maxl],c[maxl],d[maxl],v[maxl];
int main()
{
freopen("curcubeu.in","r",stdin);
freopen("curcubeu.out","w",stdout);
scanf("%d %d %d %d",&n,&a[1],&b[1],&c[1]);
for (i=1; i<=n-1; i++) d[i]=i+1;
for (i=2; i<=n-1; i++)
{
a[i]=(a[i-1]*i)%n;
b[i]=(b[i-1]*i)%n;
c[i]=(c[i-1]*i)%n;
if (a[i]>b[i]) { k=a[i]; a[i]=b[i]; b[i]=k; }
}
for (i=n-1; i>=1; i--)
{
j=a[i];
while (j<=b[i])
{
if (v[j]==0) v[j]=c[i];
k=j;
j=d[j];
d[k]=b[i]+1;
}
}
for (i=1; i<=n-1; i++) printf("%d\n",v[i]);
return 0;
}