- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
猴子选大王游戏
➢猴子选大王(亚瑟夫环)是数据结构和算法
中常见的一类问题。有人使用循环队列实现,
有人使用链表实现。本章将使用数组的回溯算
法实现选猴王的算法程序。
问问题题描描述述
➢有M只猴子围成一圈,每只各一个从1
到M中的编号,打算从中选出一个大王;
经过协商,决定出选大王的规则:从第一
个开始循环报数,数到N的猴子出圈,最
后剩下来的就是大王。
➢在本章,我们以此问题作为研究对象,
通过编写程序,来输出站成一圈猴子的
出圈顺序号。
问问题题分分析析及及实实现现
➢1问题分析
➢2问题实现
➢3程序运行
问题分析及实实现现
➢拿到这个算法问题,首先想到的前面提到的
要领:看清、想明、把握每一个细节。
➢根据问题描述可知,我们要实现的是输出猴
子出圈的顺序。简单举例:9个猴子数到3出
圈,则应打印:3,6,9…,以下将仔细地
分析问题并实现算法。
问题分析
➢而我们的将要开发的程序,就是为了使这些猴子最
后留下大王,每个淘汰出圈的猴子。这里将猴子进
行顺序编号。
➢假设猴子编号从1开始至30,则以数到3为例,从1
开始数猴子,至第三只猴子时,出圈,此时,圈子
应该有1,2,4,5,6…30,则继续从第4只从头
数起,将第4只猴子做为第1号,依此类推,这样,
就产生了出圈的顺序号:3,6,9,12,
15…..29,那么最后出圈的猴子即为猴王。
问题实现
➢本小节就通过编程来实现此问题,实现的代
码如下。
➢1.让猴子站成一圈
n
➢如何让猴子站成一圈呢?根据问题分析结果,
采用整型一n维数组中保存猴子顺序号,即表n
示站成一排。代码如下:
问题实现
1.#includestdio.h
2.#includedos.h
3.#defineMAX30/*定义猴子总数为30*/
4.inti,j,k,temp;
5.intMonkey[MAX],S;
6.voidinit()
7.{
8.for(i=0;iMAX;i++)
9.Monkey[i]=i+1;
10for(i=0;iMAX;i++)
11printf(%d,Monkey[i]);/*让猴子站成一圈*/
12printf(\n);
13}
问题实现
➢2.将结果输出
➢将回溯结果输出至屏幕,以循环打印的方式,
调用输入输出函数printf,将结果回显。
代码如下:
问问题题实实现现
1.voidoutput()
2.{
3.printf(猴子淘汰出圈的顺序是:\n\r);
4.for(i=MAX-1;i=0;i--)
05printf(第%3d只猴子出
圈!\n\r,Monkey[i]);/*输出结果*/
06printf(猴王是:第%d只猴子
\n\r,Monkey[i+1]);/*输出结果*/
07}
问题实现
➢3.回溯法求猴子出圈顺序
➢在主程序中,要求用户输入出队序数,即数
到S,就让序号是S的猴子出队。回溯法是:
将猴子总个数循环,第一次循环都是将当前需
要出圈的猴子排到数组末尾。这样,当全部猴
子循
您可能关注的文档
- 注册会计师责任及审计实务要点.pdf
- 2022年高考语文试卷(天津)(空白卷).doc
- 2022年高考语文试卷(新高考Ⅰ卷)(空白卷).doc
- 2023年高考地理试卷(江苏)(解析卷).doc
- 2022年高考语文试卷(新高考Ⅱ卷)(空白卷).doc
- 2023年高考地理试卷(江苏)(空白卷).doc
- 2023年高考地理试卷(浙江)(6月)(空白卷).doc
- 2023年高考化学试卷(辽宁)(空白卷).doc
- 湖北省新八校协作体2026届高三上学期10月月考生物(原卷版).doc
- 湖南省衡阳市第八中学2026届高三上学期10月月考化学(原卷版).doc
- 湖南省衡阳市第八中学2026届高三上学期第一次月考物理(原卷版).doc
- 浙江省普通高中尖峰联盟2026届高三上学期10月联考英语(原卷版).doc
- 四川省绵阳市南山中学实验学校2026届高三上学期10月月考英语(原卷版).doc
- 湖南省衡阳市第八中学2026届高三上学期第二次月考历史 Word版含解析.doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题09 功和机械能(原卷版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题10 内能及其利用(原卷版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题07 压强(原卷版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题01 机械运动(原卷版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题02 声现象(解析版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题02 声现象(原卷版).doc
原创力文档


文档评论(0)