Maison > php教程 > php手册 > php约瑟夫问题解决关于处死犯人的算法

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

WBOY
Libérer: 2016-06-13 09:09:37
original
796 Les gens l'ont consulté

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程序设计有所帮助。

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal