如图:
void monkey(int, int, int);
int main(void){
int n, m, p; //数量,顺序 当前位置
scanf("%d %d %d", &n, &m, &p);
monkey(n, m, p);
return 0;
}
void monkey(int n, int m, int p)
{
int *ar = (int *)malloc((n)*sizeof(int));
memset(ar, 0, n);
int out =n;
int now = p - 1;
while (out-1)
{
int i;
int count=0;
for (i = 1; count < m; i++)
{
count++;
if (!ar[now])
--count;
if (now >= n)
now = 0;
else
++now;
if (count == m)
{
ar[now] = 1;
}
}
--out;
}
printf("%3d\n", now);
free(ar);
}