求做一个C语言题目约瑟夫问题.M个人围成一个圈,从第一个人开始报数,数到N的人出圈,再由下一个人开始报数,数到N的人出圈
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/24 00:04:07
求做一个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时表示已出圈!
约瑟夫问题.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的人出圈](/uploads/image/z/2172287-47-7.jpg?t=%E6%B1%82%E5%81%9A%E4%B8%80%E4%B8%AAC%E8%AF%AD%E8%A8%80%E9%A2%98%E7%9B%AE%E7%BA%A6%E7%91%9F%E5%A4%AB%E9%97%AE%E9%A2%98.M%E4%B8%AA%E4%BA%BA%E5%9B%B4%E6%88%90%E4%B8%80%E4%B8%AA%E5%9C%88%2C%E4%BB%8E%E7%AC%AC%E4%B8%80%E4%B8%AA%E4%BA%BA%E5%BC%80%E5%A7%8B%E6%8A%A5%E6%95%B0%2C%E6%95%B0%E5%88%B0N%E7%9A%84%E4%BA%BA%E5%87%BA%E5%9C%88%2C%E5%86%8D%E7%94%B1%E4%B8%8B%E4%B8%80%E4%B8%AA%E4%BA%BA%E5%BC%80%E5%A7%8B%E6%8A%A5%E6%95%B0%2C%E6%95%B0%E5%88%B0N%E7%9A%84%E4%BA%BA%E5%87%BA%E5%9C%88)
#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
#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开始重新报数,