作业帮 > 综合 > 作业

求做一个C语言题目约瑟夫问题.M个人围成一个圈,从第一个人开始报数,数到N的人出圈,再由下一个人开始报数,数到N的人出圈

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/11 03:48:24
求做一个C语言题目
约瑟夫问题.M个人围成一个圈,从第一个人开始报数,数到N的人出圈,再由下一个人开始报数,数到N的人出圈,输出依次出圈人的编号.M,N值由键盘输入.
例如:M=8,N=5则依次出圈的是5,2,8,7.
提示:可以设置变量j纪录当前报数人的编号(1-m),变量k为已出圈的人数,变量p为当前所报的数(1-n).数组a从下标1-m的各元素对应m个人的位置,相应的元素值为1是表示该人未出圈,为0时表示已出圈!
求做一个C语言题目约瑟夫问题.M个人围成一个圈,从第一个人开始报数,数到N的人出圈,再由下一个人开始报数,数到N的人出圈
#include
#define COUNT 4
/*人的数目可在此更改*/
/*
功能:计算出最后剩余的人的编号,从0到count-1
参数:peopele[] : 存放人的数组
Count : 共有多少个人
Now : 当前数到了几,从0开始,不断往上增加
Left : 当前还剩下几人没’离开’,范围为1-count
返回:返回值为最后剩余的人的编号,从0到count-1
*/
int func(int people[], int count, int now, int left) {
if (left
求做一个C语言题目约瑟夫问题.M个人围成一个圈,从第一个人开始报数,数到N的人出圈,再由下一个人开始报数,数到N的人出圈 M个人围成一圈,从第一个人开始报数,数到n的人出圈.再由下一个人开始报数,数到n的人出圈,……输出依次 约瑟夫问题:M个人围成一圈,从第一个人开始依次从1到N循环报数,每当报数为N时此人出圈,直到剩一人为止 n个人围成个圈由第一个人报数数到k出圈再由下一个报数数到k出圈依次输出出圈的编号n的值先设计k的值输入 设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人 vb求约瑟夫问题的求解:有n个人围成一个圈,由第一个人开始报数,数到第k个人,这个人 C 设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一 有N个人围成一个圈顺序编号,从第一个人开始报数(从1到M),凡报到M的人退出圈子, C语言:有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子 C语言 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子 用C语言编写:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,请输出报数出列圈及最 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,