Heim  >  Artikel  >  Backend-Entwicklung  >  php约瑟夫问题解决关于处死犯人的算法_PHP教程

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

WBOY
WBOYOriginal
2016-07-13 10:00:39784Durchsuche

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关于约瑟夫问题的实现与...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn