Cet article présente principalement la méthode de réalisation du problème de Joseph en PHP. Les exemples résument deux techniques courantes pour réaliser le problème de Joseph, qui ont une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer
Résumé des exemples dans. cet article La méthode d'implémentation du problème de Joseph en PHP. L'analyse spécifique est la suivante :
Un groupe de singes s'alignent en cercle et sont numérotés selon 1, 2,..., n. Ensuite, commencez à compter à partir du 1er, comptez jusqu'au mème, expulsez-le du cercle, commencez à compter par derrière, comptez jusqu'au mème, expulsez-le..., et continuez ainsi jusqu'à ce qu'il n'y en ait plus. il reste un singe, ce singe s'appelle le roi. Une programmation est nécessaire pour simuler ce processus, saisir m, n et afficher le numéro du dernier roi.
Analyse :
L'Anneau de Joseph est un problème d'application mathématique : on sait que n personnes (représentées par les chiffres 1, 2, 3...n respectivement) sont assises autour d'une table ronde . Commencez à compter à partir de la personne numérotée k, et la personne qui compte jusqu'à m sort de la file d'attente ; la personne suivante commence à compter à partir de 1, et la personne qui compte jusqu'à m sort à nouveau de la file d'attente, répétez ce schéma jusqu'au tour suivant ; table Tout le monde est sorti.
Méthode 1 :
<?php function getLeader($n,$m) { $res=0; for($i=2; $i<=$n; $i++) { $res=($res+$m)%$i; } return $res+1; } $leader = getLeader(13,34); echo $leader; ?>
Méthode 2 :
<?php //定义函数 function getKing($monkeys , $m , $current = 0){ $number = count($monkeys); $num = 1; if(count($monkeys) == 1){ echo '<font color="red">编号为'.$monkeys[0].'的猴子成为猴王了!</font>'; return; }else{ while($num++ < $m){ $current++ ; $current = $current%$number; } echo "编号为".$monkeys[$current]."的猴子被踢掉了...<br/>"; array_splice($monkeys , $current , 1); getKing($monkeys , $m , $current); } } $n=13; //总共猴子数目 $m = 34; //数到第几只的那只猴子被踢出去 $monkeys = range(1,$n); //将猴子编号放入数组中 getKing($monkeys , $m); //调用函数 ?>
Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère cela peut aider. L’apprentissage de chacun est utile.
Recommandations associées :
Comment convertir n'importe quel nombre de base en décimal en php
php compare deux tableaux Méthode de soustraction
Méthode de tri des tableaux associatifs php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!