在控制台下实现约瑟夫环.编号为1,2,3,……,n 的 n 个人按顺时针方向围坐一圈,每人持有一个密码
题目
在控制台下实现约瑟夫环.编号为1,2,3,……,n 的 n 个人按顺时针方向围坐一圈,每人持有一个密码
一、问题描述
在控制台下实现约瑟夫环.
编号为1,2,3,……,n 的 n 个人按顺时针方向围坐一圈,每人持有一个密码(正整数).一开始任选一个正整数作为报数上限值 m,从第一个人开始按顺时针方向自1开始报数,报到 m时停止报数.报m的人出列,将他的密码作为新的 m 值,从他在顺时针方向上的下一个人开始重新报数,如此下去,直至所有人全部出列为止.试设计一个程序求出出列顺序.
二、基本要求
(1)m 的初值由用户输入,n值可以由用户输入也可从读入的文件中统计.
(2)每个人应至少包含的信息:姓名、编号、密码.
(3)参照线性表的实现完成此程序.
(4)打印”约瑟夫环“的初始顺序信息,含有编号、姓名、密码.
(4)用户可选择按姓名或按编号打印出列顺序.
(6)本题提交整个程序的实现代码.
四、测试数据
(1) m = 57,n = 19
(2) m = 65 ,n = 16
(3) m = 32 ,n = 20
(4) m = 101, n = 55
(5) m = 1001 ,n = 28
五、实现提示
(1) 可参照已经实现的的“动态顺序表”或“动态单链表“选择一个适当的存储结构模拟此过程;
(2) 参加“约瑟夫环”游戏的每一项为一个结点,数据类型ElemType为结构体,包含三个数据成员:姓名、编号和密码;
(3) 出列时考虑对第一项和最后一项的作特殊处理.
答案
#includeusing namespace std;#define TRUE 1#define FALSE 0#define OK 1typedef int Status;typedef double ElemType;//-----------------------------------//定义单向循环链表typedef struct LNode{ int number;...
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点
- 独具慧眼和滚瓜烂熟的意思
- 把一物体放在水平木板ab上,然后将木板a端抬起.当板与水平面夹角为 时,物体所受的摩擦力大小为 ;当夹角为 时,物体所受的摩擦力大小为 ,若 ,物体相对木板始终静止.则比较 和 的大小可得:[ ]
- “我的骄傲”这个词的英文翻译是什么?
- 加工一批零件,原计划每天加工120个,30天完成.实际每天的工作效率比原计划提高25%.
- 洋流的分布有什么特点··
- 改错:This kind of camera is very popular but it cost too much
- removal men和total check的意思
- 6月28日,天宫一号目标飞行器与神舟九号飞船分离,它将在距地面高度为h的轨道上做匀速圆周运动,
- 说说地球,太阳系,银河系,宇宙之间的关系
- 在三角形ABC中,角C等于90,D是AC的中点,DE处置AB于E,求BE平方=AE平方+BC平方