>  기사  >  백엔드 개발  >  php约瑟夫问题解决关于处死犯人的算法_PHP教程

php约瑟夫问题解决关于处死犯人的算法_PHP教程

WBOY
WBOY원래의
2016-07-13 10:00:39816검색

php约瑟夫问题解决关于处死犯人的算法

 这篇文章主要介绍了php约瑟夫问题解决关于处死犯人的算法,实例分析了php关于约瑟夫问题的实现与应用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

 

 

本文实例讲述了php约瑟夫问题解决关于处死犯人的算法。分享给大家供大家参考。具体分析如下:

古代某法官要判决IV个犯人的死刑,他有一条荒唐的法律将犯人站成一个圆圈,从第s个人开始数起,每到第D个人就拉出来处死,然后再数D个,再拉出来处决…… 直到剩下最后一个可以赦免.

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

function getNum($n,$m){

//用于把所有的数存到数组初始化

$a = array();

//遍历,存入数组

for($i=1;$i

$a[$i] = $i;

}

//指针归0

reset($a);

while(count($a)>1){

//如果数组中项大于1,继续循环剔除元素

//剔除规则

for($j=1;$j

//如果没有达到数组的最后项

if(next($a)){

if($j==$m){

//删除m项

unset($a[array_search(prev($a),$a)]);

}

}else{

//如果next不存在,那么指针归0

reset($a);

if($j==$m){

unset($a[array_search(end($a),$a)]);

reset($a);

}

}

}

}

return current($a);

}

echo getNum(5,3);

希望本文所述对大家的php程序设计有所帮助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/973135.htmlTechArticlephp约瑟夫问题解决关于处死犯人的算法 这篇文章主要介绍了php约瑟夫问题解决关于处死犯人的算法,实例分析了php关于约瑟夫问题的实现与...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.