猴子称王php,php猴子称王或者约瑟夫难题

问题描述:

一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,

输出最后那个大王的编号。

约瑟夫问题:

N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉

php实现:

原理是先构建一个n个人的数组,然后,根据报数数,第M逐一剔除数组的元素,保留最后剩余的那个

function yueSeFu($n,$m){

//限制条件

if(!is_int($n) || !is_int($m) || $n<2 || $m<2) return false;

//获取猴子的编号

$arr = range(1,$n);

//初始化数组的下标

$i = 0;

while(count($arr) > 1){

if(($i+1) % $m == 0){

//数到出局数的人踢出局

unset($arr[$i]);

}else{

//其他的添加到数组的最后面

array_push($arr,$arr[$i]);

//删除掉已被转移到后面的数组元素

unset($arr[$i]);

}

$i++;//继续往后数

}

return array_values($arr)[0];

}

JavaCodeTra 猴子选猴王 约瑟夫循环

之前用的是循环链表,java刚学,不知道怎么用链表.用个小算法吧 代码: import java.util.Scanner; /** * */ /** * @author john * @约瑟夫循环/ ...

POJ3750&colon; 小孩报数问题&plus;一道经典约瑟夫问题(猴子选大王)

又一次因为一个小错误,POJ上Wrong Answer了无数次..... 在差不多要放弃的时候,发现了这个猥琐的不能再猥琐的bug,改完了提交就AC了,简直无语.... 本题wo采用模拟方法: 1 # ...

约瑟夫环问题(猴子选大王)PHP版

约瑟夫斯问题问题有时候也被描述成猴子选大王问题,题目如下.(最后会贴上约瑟夫问题的来历) 一群猴子排成一圈,按1,2,…,n依次编号. 然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再 ...

算法&lowbar;php猴子选大王&lowbar;约瑟夫问题

题目: n个猴子围坐一圈,从第一个猴子开始数,到第m个出列,求最后一个猴子的编号. 分析: 首先想到循环,然后队列,然后堆,所以用数组模拟一个循环的列表,下标为[0-(n-1)],下标+1整除m干掉元 ...

猴子选大王 (约瑟夫环)(c&num;)

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

java实现猴子选大王问题(约瑟夫问题)

题目:m只猴子围成一圈报数,报n的猴子自动离开,然后下一位重新从1开始报数,一直循环,最后剩下的那个猴子就是猴大王,写出程序求出最后是大王的那只猴子最初的位置. package learn; impo ...

转化欧拉回路&lpar;难题&rpar;-UESTC-1957励志的猴子

励志的猴子 Time Limit: 1000 MS     Memory Limit: 256 MB Submit Status 上图是2013南京亚青会吉祥物圆圆.自从它诞生以来,它就被吐槽为最丑吉 ...

JAVA中的约瑟夫环和猴子王问题

今天在书上(书名< java程序设计经典300例 >李源编著)看了一个有趣的问题,那就是java版的约瑟夫问题,想必大一的小伙伴们早就用c写过了吧 今天我在复习一下 首先问题是这样的n个人 ...

约瑟夫问题(c&plus;&plus;实现)

描述:约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1 开始报数.就这样,直到圈内只剩下一只猴子时,这个猴子 ...

随机推荐

Discuz&excl;模板解析语法

PHP中使用template()函数显示已存在模板 在Discuz!程序执行中可以通过 include tem ...

SharePoint 2013 新功能探索 之 标注控件

SharePoint 2013 引入了新的UI,同时也跟进了网络潮流,把应用最广泛的标注控件也引入到了SharePoint,先看两个应用    以上是两个开发当中经常会用到,下面就介绍一下如何开发相同 ...

CKEditor &lpar;Toolbar Definition&rpar;工具栏自定义配置

JS是大小写敏感的, 在设置配置文件的时候需要注意 以CKEditor 4为基础我们可以通过两种方式配置CKEditor的工具栏,一种是是通过config.js配置文件设置, 另一种是IN-PAGE方 ...

Hibernate 知识提高

主键生成策略有: UUID,increment.Hilo.assigned:对数据库无依赖 identity:依赖Mysql或sql server,主键值不由hibernate维护 sequence: ...

Class ThreadPoolExecutor

Class ThreadPoolExecutor java.lang.Object java.util.concurrent.AbstractExecutorService java.util.con ...

noip普及组2004 火星人

火星人 描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法.这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类 ...

JQ在线引用地址

1.7.2版本 百度的引用地址:

2019年新软件发布分享HanGi&period;IT&period;AStrutTie&period;v2017 1CD

Steelray Project Viewer 2019.1.69 1CDIAR Embedded Workbench for Renesas M16C-R8C v3.71.1 1CD Mentor ...

32&lowbar;使用BeanUtils工具包操作JavaBean

由于对属性设置值和得到值的需求很多,使用频率很高,所以有一些开源勇士 不满足于JavaBean API 中IntroSpector来操作bean, 写出来了通用的BeanUtils工具,来进一步简 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值