数据结构常见问题:12单元27 猴子选王问题_第1页
数据结构常见问题:12单元27 猴子选王问题_第2页
数据结构常见问题:12单元27 猴子选王问题_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构课程常见问题 -单元27 猴子选王1猴子选王问题求解?解析:有M只猴子围成一圈,按序每只从1到M中的编号,打算从中选出一个大王;经过协商,决定出选大王的规则:从第一个开始循环报数,数到N的猴子出圈,最后剩下来的就是大王。要求:从键盘输入M、N,编程计算哪一个编号的猴子成为大王方案一:;利用数组比如有5只猴子,从1到3报数,则选大王的步骤如下:第一次报数:1-2-3 /3淘汰出圈第二次报数:4-5-1 /1淘汰出圈第三次报数:2-4-5 /5淘汰出圈第四次报数: 2-4-2 /2淘汰出圈4号称王。/ monkey.cpp : Defines the entry point for the

2、 console application./方案一:;利用数组cpp HYPERLINK /cai0538/article/details/6980987 o view plain view plain HYPERLINK /cai0538/article/details/6980987 o copy copy HYPERLINK /cai0538/article/details/6980987 o print print HYPERLINK /cai0538/article/details/6980987 o ? ?#includestdafx.h #include usingnamespa

3、cestd;intfindMonkeyKing(intm,intn)int*a=newintm;/将猴子按从1到m编号 for(inti=1;i1)while(count1)if(astart0)count-;if(start+1)len)start+;elsestart=0;elseif(start+1len)start+;elsestart=0;/找到要淘汰出圈的猴子 while(astart=0)if(start+1len)start+;elsestart=0;/coutastart_startendl; astart=0;/将该猴子淘汰。 /找到下一个开始从1报数的猴子 while(astart=0)if(start+1len)start+;elsestart=0;/coutastart_startendl; count=n;/为下次循环做准备 m-;/找到数组中仅存的值不为0的数组元素即为所选猴子大王 intj=0;while(aj+=0);returnaj-1;/这个地方要小心,要后退一步 intmain(intargc,char*argv)intm,n;coutm;coutendl;coutn;coutendl;intmonkey

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论