Pagini recente » Cod sursa (job #1494012) | Borderou de evaluare (job #3232113) | Cod sursa (job #763243) | tema | Cod sursa (job #2096862)
#include <stdio.h>
#include <stdlib.h>
int next[30001],next_inv[30001];
int main()
{
int i,j,n,z,k;
freopen("order.in","r",stdin);
freopen("order.out","w",stdout);
scanf("%d",&n);
for(i=1; i<=n; i++)
{
next[i]=i%n+1;
next_inv[i]=(i==1?n:i-1);
}
z=1;
for(i=1,j=n; i<=n; i++,j--)
{
k=i%j;
while(k>1)
{
z=next[z];
k--;
}
if(k==0)
z=next_inv[z];
printf("%d ",next[z]);
next[z]=next[next[z]];
next_inv[next[z]]=z;
}
return 0;
}