设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止.现要求按出圈次序,每10人一组,给出这n个人的顺序表.编制函数Josegh()实现此功能.
人气:430 ℃ 时间:2020-08-29 15:52:04
解答
你的10是什么意思啊,没讲清楚啊你的就是n为10#include #defineN 10 //定义个数#defineC 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;//循环取编号printf("%d ",a[i]);//输出a[i]=0;//置0,代表出局j=0; //置j=0,重新计数count--; //计数器减一while(a[i]==0)//寻找下一个没有出局的编号{ i++; i=i%N;//循环取编号 }continue;//直接执行下一个外循环 } else//否则累加报数个数j++;}i++; } //处理最后一个 printf("\n最后一个:%d\n",a[i]);//输出 getchar(); return 0;}
推荐
- 约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1— n),从第1号开始报数,一直数到m,数到m
- 编号为1,2,…,n的n个人按顺时针方向围坐一圈
- N个人围成一个圈顺序编号,从第一个人开始报数(从1到M),凡报到M的人退出圈子,问最后一个圈中的人的编
- 然后从1号开始顺时针报数(1,2,3,…),凡报5的倍数者出圈,剩下者继续报数,求出最后出圈者的编号.
- 100人围成一圈,他们的编号分别为1至100,此100人从1号起按顺时针方向进行1、2报数,报2走报1留,不断反复下去直到一人留下.问此人原先排在什么位置?
- 一老外,名叫Peter Neyens 他想知道他的中文名是什么,我想应该是按发音来的.彼特或皮特,后面是什么呢
- 设集合A={1,x+1,x²-1},若3含于A,求X
- you should study hard 改为一般疑问句
猜你喜欢
- 果园里种了一些橘子树和杨梅树,橘子树占总棵树5分之2,杨梅树占总棵树的4分之1.已知橘子树比杨梅树多126棵,橘子树和杨梅树各有多少棵?
- 甲乙两人同时从东城到西城,甲每小时走6千米,乙每小时走4.5千米.
- 设声音在空气中传播的速度为340m/s,在钢铁中传播的速度为1500m/s,一人用铁锤敲击一下铁桥的一端而发出的声音,另一个人在另一端听到两声且相差0.5秒,则铁桥的长度约为_m.
- 在三角形ABC中,a,b,c分别是角A,B,C的对边,若a=根号下3,角A=60°,求b+c的最大值.
- 数轴上两点间的距离
- 将u型压强计的金属盒放入水中...
- 单项选择 Her father is working ---the computer now.A.at B.on C.with D.in
- its really a c_for the students to take part in this competition