php

推荐列表 站点导航

当前位置:首页 > 脚本编程 > php >

php猴子选大王问题解决方法

来源:互联网  作者:网友投稿  发布时间:2021-01-06 11:44
这篇文章主要介绍了php猴子选大王问题解决方法,其本质为约瑟夫环问题,这里提供了一种较为简单的解决方法,需要的...

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

解决方法:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

 

<?php

function king($m, $n) {

 for($i = 1;$i < $m + 1;$i++) {

 //构建数组

  $arr[] = $i;

 }

 $i = 0;//设置数组指针

 while (count($arr) > 1) {

  //遍历数组,判断当前猴子是否为出局序号,

  //如果是则出局,否则放到数组最后

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

   unset($arr[$i]);

  } else {

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

   //本轮非出局猴子放数组尾部

   unset($arr[$i]);

   //删除

  }

  $i++;

 }

 return $arr;

}

var_dump(king(100,5));

?>

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/php/11453.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

php猴子选大王问题解决方法

2021-01-06 编辑:网友投稿

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

解决方法:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

 

<?php

function king($m, $n) {

 for($i = 1;$i < $m + 1;$i++) {

 //构建数组

  $arr[] = $i;

 }

 $i = 0;//设置数组指针

 while (count($arr) > 1) {

  //遍历数组,判断当前猴子是否为出局序号,

  //如果是则出局,否则放到数组最后

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

   unset($arr[$i]);

  } else {

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

   //本轮非出局猴子放数组尾部

   unset($arr[$i]);

   //删除

  }

  $i++;

 }

 return $arr;

}

var_dump(king(100,5));

?>

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/php/11453.shtml

相关文章

风云图片

推荐阅读

返回php频道首页