猴子选大王问题: 一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1到m的顺序围坐一圈,

  从第1开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。

  经典算法(C#版本)

1         public int King(int M, int N)
2         {
3             //总猴数 M ,数到第 N 个排除。
4             int k = 0;
5             for (int i = 2; i <= M; i++)
6                 k = (k + N) % i;
7             return ++k;
8         }  

 经典算法(python版本py 2.7)
1 def king(m,n):
2     l,i=range(m),0    #构造list代表猴子,i记录点名的次数,没点名时候记0
3     while len(l)>1:    #当猴子数目大于一个时候
4         k=l.pop(0)      #点到名字的猴子出列
5         i+=1              #点名次数+1
6         if i%n!=0:      #不是n*x次被点名的猴子站到队伍末尾,等待再次被点名
7             l.append(k)
8     return l[0]+1      #返回猴子的编号 list index默认0开始

 monkeyking特例时候的(python版本 py 2.7)
1 #5只猴一圈,点到第3个时候出圈
2 l=range(5)
3 while (len(l)>1):
4     l.append(l.pop(0))
5     l.append(l.pop(0))
6     l.pop(0)
7 print l[0]+1

转载于:https://www.cnblogs.com/hello1123/p/7360145.html

猴子选大王问题(Monkey King)相关推荐

  1. 常用算法(C#): 猴子选大王问题

    猴子选大王问题: 一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1到m的顺序围坐一圈, 从第1开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子, ...

  2. 数据结构上机实践第四周项目5 - 猴子选大王

    数据结构实践--猴子选大王 首先呢,小普及一下 读者:难道你当我不知道 读者想对小编说: 进入正题,项目要求如下: 一群猴子,编号是1,2,3 -m,这群猴子(m个)按照1-m的顺序围坐一圈.从第1只 ...

  3. 数据结构实践——猴子选大王

    本文针对数据结构基础系列网络课程(2):线性表的实践项目. [项目 - 猴子选大王] 一群猴子,编号是1,2,3 -m,这群猴子(m个)按照1-m的顺序围坐一圈.从第1只开始数,每数到第n个,该猴子就 ...

  4. python猴子选大王_sicily 猴子选大王

    题目描述 猴子选大王,有N只猴子,从1-N进行编号.它们按照编号的顺时针方向,排成一个圆圈,然后从第一只猴子开始报数.第一只猴子报1,以后每只猴子报的数字都是它前面猴子所报数字加1.如果一只猴子报的数 ...

  5. python练习:猴子选大王

    python题目:猴子选大王 题目内容: 一群猴子围成一圈,按1,2,3,-,m依次编号. 然后从第1只开始数,数到第n只,把它剔除圈,再重新开始数, 如此不停的进行下去,最后剩下的那只就是大王. 要 ...

  6. C/C++——猴子选大王(PTA)

    超详注释! 包你一秒钟都看不懂! 2022-7-13更新: 昨天做力扣的#27移除元素,学会了双指针法,今天突然想起这道题,发现可以参考参考双指针. 附上题目: 本关任务:编写一个函数 ki ng,实 ...

  7. php 猴子选大王,php猴子选大王

    法一: function monkeyKing($n,$m) { $arr=range(1,$n); $i=0; while (count($arr)>1) { for($i=1;$i<= ...

  8. python猴子选大王_“猴子选大王” 算法 python实现

    今天来实现一个约瑟夫环算法,下面是一道新浪的面试题: m只猴子围坐成一个圈,按顺时针方向从1到m编号.然后从1号猴子开始沿顺时针方向从1开始报数,报到n的猴子出局,再从刚出局猴子的下一个位置重新开始报 ...

  9. 猴子选大王(Java)

    猴子选大王(Java) 题目要求:完成猴子选大王的游戏,要求输入猴群的数量,以及报数的数值,按照排列顺序报道指定数值的猴子出局,最后剩下的即是大王,输出大王的编号. import java.util. ...

最新文章

  1. Node.js笔记 - 修改文件后自动重启node服务
  2. 【vue.js】vue后台项目权限功能实现思路
  3. 第四次实验 恶意代码技术
  4. VTK修炼之道44:图形进阶_vtkPolyData数据源讨论与数据创建
  5. python学习点滴记录-Day09
  6. 软件测试性能测试结果,软件性能测试结果分析工具的研究与设计
  7. html dom反选,HTML DOM系列教材 (五)- 事件
  8. Process finished with exit code 139(interrupted by signal 11):SIGSEGV
  9. StringEscapeUtils的资料
  10. arcgis注册dsoframer.ocx等组件
  11. java环境64位_JAVA环境配置(WIN10之64位)
  12. 各行各业求职-招聘QQ群欢迎加入
  13. excel启动时显示“操作系统当前的配置不能运行此应用程序”
  14. sql cast 和convert用法详解
  15. 优秀的web前端工程师需要哪些软技能
  16. get_chunk用法
  17. Python风险价值计算投资组合VaR、期望损失ES
  18. Win7中IIS出现“HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
  19. 黑马程序员Java培训、Android培训_银行业务调度系统笔记
  20. CentOS 7安装指南

热门文章

  1. C#随机改变文本框文字颜色
  2. 《牛客网刷题之零基础入门前端之JavaScript》
  3. UHF VHF等相关概念
  4. CAD如何进行连续标注并对齐标注?
  5. RISC-V:-mcmodel=medlow vs -mcmodel=medany
  6. android app 适应不同大小屏幕_Android UI自适应不同分辨率屏幕2套解决方案
  7. 自媒体seo是啥?怎么做自媒体seo来搞流量?
  8. Fbx导入Unity穿模
  9. U盘系统大师帮你轻轻松松装系统
  10. android虚拟手机云之三:文件沙盒