/*N个人围成一圈,从1抱到M.*/
#include <stdio.h>
int main()
{
int N,M,*a;
int i,j,position=1,total=0,chage;/*total出队的人数*/
printf("Enter the N and M\n");
scanf("%d%d",&N,&M);
a=(int *)malloc(N*sizeof(int));
for (i=0;i<N;i++)
a[i]=i+1;
while(1)
{
position+=M-1;
while (position>N-total)
position=position-N+total;
chage=a[position-1];
for (j=position;j<N-total;j++)
a[j-1]=a[j];
a[N-total-1]=chage;
total++;
if (total==N)/*出队人数等于N,程序结束*/
{
for (i=0;i<N-1;i++)
printf("%d->",a[N-i-1]);
printf("%d\n",a[0]);
return 0;
}
}
}