Pagini recente » Rezultatele filtrării | Rezultatele filtrării | Rezultatele filtrării | Cod sursa (job #1888227) | Cod sursa (job #143775)
Cod sursa(job #143775)
#include <stdio.h>
int n,a[30100];
void afisare()
{
freopen ("order.in","r",stdin);
freopen ("order.out","w",stdout);
scanf ("%d",&n);
int nr=1,i=2,num=0,aux=n;
while (nr<=n)
{
if (nr>aux)
num=nr%aux;
else
num=nr;
int nr1=0,ok=0,j;
for (j=i;j<=n;j++)
if (a[j]==0)
{
nr1++;
if (nr1==num)
{
printf ("%d ",j);
int kkt=0;
for (int k=j+1;k<=n;k++)
if (a[k]==0)
{
i=k;
kkt=1;
break;
}
if (kkt==0)
{
for (int q=1;q<=n;q++)
if (a[q]==0)
{
i=q;
kkt=1;
break;
}
}
ok=1;
a[j]=1;
break;
}
}
if (ok==0)
{
for (j=1;j<i;j++)
if (a[j]==0)
{
nr1++;
if (nr1==num)
{
printf ("%d ",j);
int kkt=0;
for (int k=j+1;k<=n;k++)
if (a[k]==0)
{
i=k;
kkt=1;
break;
}
if (kkt==0)
{
for (int q=1;q<=n;q++)
if (a[q]==0)
{
i=q;
kkt=1;
break;
}
}
ok=1;
a[j]=1;
break;
}
}
}
aux--;
nr++;
}
for (int q=1;q<=n;q++)
if (a[q]==0)
{
printf("%d ",q);
break;
}
fclose(stdin);
fclose(stdout);
}
int main ()
{
afisare();
return 0;
}