猴子报数

xiaoxiao2021-02-28  68

n个猴子围坐一圈并按照顺时针方向从1到n编号,从第s个猴子开始进行1到m的报数,报数到第m的猴子退出报数,从紧挨它的下一个猴子重新开始1到m的报数,如此进行下去知道所有的猴子都退出为止。求给出这n个猴子的退出的顺序表。

我们要对这n个猴子编脚标并在第s个猴子开始数在报m的猴子去除后将所有的猴子脚标按第一次那样编脚标。

#include<stdio.h>int main(){ int a[100]; int n,m,s,t,j,i,k,h=0; while(~scanf("%d %d %d",&n,&s,&m)) { if(n==0&&s==0&&m==0) { break; } else { for(i=0;i<n;i++) { a[i]=i+1; } t=n; i=s-1; h=0; while(n) { i=(i+m-1)%n; printf("%d",a[i]); for(j=i;j<n-1;j++) { a[j]=a[j+1]; } h++; if(h==t) { printf("\n"); } else { printf(","); } n--; } } } return 0;}

转载请注明原文地址: https://www.6miu.com/read-2623263.html

最新回复(0)