<?
/*** 猴子选大王:一群猴子排成一圈,按1,2,…,n依次编号。* 然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,* 如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。* 要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。用程序模拟该过程。*/
function numOfKing($n, $m)
{$arr = range(1, $n);    // 1 - n$i=0;    // 数组索引从 0 开始。 数组剩余一个元素为结束条件    while(count($arr>1)) {if( ($i+1)%$m==0 ) {unset($arr[$i]);    // 将数到的数字移除} else {// 将不是的从当前位置删除,放到数组的结尾处。array_push($arr, $arr[$i]);unset($arr[$i]);}$i++;    // 不停地往后数
    }return $arr[$i];
}

转载于:https://www.cnblogs.com/lxpursue/p/9814375.html

约瑟夫环 猴子选大王相关推荐

  1. 约瑟夫环-猴子选大王(变型题)

    约瑟夫环-猴子选大王(变型题) 接着上篇猴子选大王继续展开,上篇讲的是有m个猴子,从第一个猴子开始报数,当报到n时,第n个猴子出去,从n+1猴子开始,从1继续报数. 这篇我们来说,从任意猴子k的位置开 ...

  2. 约瑟夫环 猴子选大王的问题

    问题: 有M只猴子围成一圈,按序每只从1到M中的编号,打算从中选出一个大王:经过协商,决定出选大王的规则:从第一个开始循环报数,数到N的猴子出圈,最后剩下来的就是大王.要求:从键盘输入M.N,编程计算 ...

  3. 约瑟夫问题(猴子选大王)

    n只猴子要选大王,选举方法如下:所 有猴子按 1,2 --- n 编号并按照顺序围成一圈, 从第 k 个猴子起,由1开始报数,报到m时,该猴子就跳出圈外, 下一只猴子再次由1开始报数, 如此循环,直到 ...

  4. 循环链表-约瑟夫问题-猴子选大王

    总时间限制(Time limit): 1000ms 内存限制(Memory limit): 65536kB 描述(Description) 有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第 ...

  5. 猴子选王c语言链表程序代码,C语言程序设计-猴子选大王[链表应用]

    2032 猴子选大王 Description 有N只猴子,从1~N进行编号.它们按照编号的顺时针方向排成一个圆圈,然后从第一只猴子开始报数.第一只猴子报的第一个数字为1,以后每只猴子报的数字都是它们前 ...

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

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

  7. 数据结构猴子选大王java_数据结构例子-猴子选大王

    约瑟夫问题(猴子选大王):   n只猴子要选大王,选举办法如下:所有猴子按1,2,-,n编号围坐一圈,从第一号开始按1,2,-,m报数,凡报m号的推出圈外,如此循环报数,直到圈内剩下一只猴子时,这只猴 ...

  8. 约瑟夫环问题之猴子选大王

    猴子选大王的描述为:n只猴子围成一圈,顺时针方向从1到n编号.之后从1号开始沿顺时针方向让猴子从1,2,...,m依次报数,凡是报到m的猴子,都让其出圈,取消候选资格.然后不停的按顺时针方向报数,让报 ...

  9. Python 猴子选大王(约瑟夫环)算法

    def KingElect(totalNum, startNum, intervalNum):'''猴子选大王totalNum:猴子总数tartNum:开始序号intervalNum:间隔数'''mo ...

最新文章

  1. Oracle数据库日期范围查询的两种实现方式
  2. .on(#39;click#39;)与.click()之间的区别
  3. 用thinkphp进行微信开发的整体设计思考
  4. Windows 市场份额十年来首次跌破 90%
  5. git-stash用法小结
  6. 数据结构实验之链表五:单链表的拆分
  7. HighNewTech:2019.08.09程序猿界大事件之【你好,我是鸿蒙OS】~【来了,老弟】—技术才是硬道理,开源方能建立新生态!
  8. 让Python中类的属性具有惰性求值的能力
  9. 超轻量级DI容器框架Google Guice与Spring框架的区别教程详解及其demo代码片段分享...
  10. 算法导论10-2.4题
  11. python netsnmp_在Ubuntu18.04中关于Python使用netsnmp进行snmp编程
  12. hadoop搭建_阿里云搭建Hadoop集群
  13. JavaScript:数据的存储
  14. rocketmq的有序消费模式和并发消费模式的区别
  15. Flex 与外部的数据通信(HTTPService,URLLoader和URLRequest)
  16. 社会语义网络图用什么软件绘制_GitMind:免费在线思维导图软件
  17. note2便携式WLAN热点开启后没连接时自动关闭时长在哪设置
  18. helm开发环境部署gitea
  19. 跟我StepByStep学FLEX教程------概述(原创)
  20. 华为云“云上先锋”·AI主题赛(垃圾分类)-Top7复盘

热门文章

  1. android:themes.xml
  2. linux下mysql的root密码忘记解决方法
  3. 【FE前端学习】第二阶段任务-基础
  4. 20151102adonet2
  5. 使用modernizr.js检测浏览器对html5以及css3的支持情况
  6. 33.搜索插件——autocomplete
  7. const在函数前与函数后的区别 [转]
  8. CentOS 5 升级mysql5.1启动服务时报错
  9. 从XXX 产品的失败谈起
  10. riot.js教程【四】Mixins、HTML内嵌表达式