1.设有n个人围做在圆桌周围,从某个位置开始用自然数进行编号为1,2….,n.然后从编号为k的人从1开始报数,1.\x05设有n个人围做在圆桌周围,从某个位置开始用自然数进行编号为1,2….,n.然后从编号为k的人从1开始报数,数到m的人便出列;下一个人(第m+1个)又从容不迫开始报数,数到m的人便是第二个出列的人.如此继续下去直到最后一个人出列为止.要求输出这个出列的顺序.
问题描述:
1.设有n个人围做在圆桌周围,从某个位置开始用自然数进行编号为1,2….,n.然后从编号为k的人从1开始报数,
1.\x05设有n个人围做在圆桌周围,从某个位置开始用自然数进行编号为1,2….,n.然后从编号为k的人从1开始报数,数到m的人便出列;下一个人(第m+1个)又从容不迫开始报数,数到m的人便是第二个出列的人.如此继续下去直到最后一个人出列为止.要求输出这个出列的顺序.
答
第一出列:m+(k-1) =(m-1)+k
第二出列:m+m+(k-1)-1-1=2m+k-2-1=2(m-1)+k-1
以此类推得出:
第x出列:x(m-1)+k-(x-1)=x(m-2)+k+1
答
动脑筋,自己想,我是老师
答
#include #define N 10 //定义个数#define C 3 //定义报数int main(){int a[N];int i,j,count; //初始化数组for(i=0;i1;){if(a[i%N]!=0)//如果此数不为0,代表没有出局{if(j==C-1)//累加到报数个{i=i%N;//...