Maison >programmation quotidienne >Connaissance PHP >Algorithme de sélection aléatoire PHP (1)

Algorithme de sélection aléatoire PHP (1)

藏色散人
藏色散人original
2019-02-18 14:31:3911115parcourir

Dans notre processus quotidien d'entretien PHP, les questions algorithmiques sont naturellement indispensables, et tout le monde sait que les algorithmes sont au cœur du programme. Ainsi à partir de cet article, nous vous présenterons successivement les connaissances liées à la série d'algorithmes PHP. Ci-dessous, nous vous présenterons l'algorithme de sélection aléatoire PHP.

Algorithme de sélection aléatoire PHP (1)

PHP One Algorithm, comme son nom l'indique, utilise PHP pour trouver le seul élément qui répond aux exigences parmi plusieurs éléments.

Par exemple, il y a une question d'entretien spécifique sur l'algorithme PHP one-to-one. La question est la suivante :

Un groupe de singes s'alignent en cercle et sont numérotés en fonction. à 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'à la fin. il ne reste plus qu'un singe, ce singe s'appelle le roi.

Nécessite une programmation PHP pour simuler ce processus, saisir m, n et afficher le numéro du dernier roi.

La solution est la suivante :

<?php
function king($n, $m){
    $monkeys = range(1, $n);
    $i=0;
    while (count($monkeys)>1) {
        if(($i+1)%$m==0) {
            unset($monkeys[$i]);
        } else {
            array_push($monkeys,$monkeys[$i]);
            unset($monkeys[$i]);
        }
        $i++;
    }
    return current($monkeys);
}
echo king(10,3);

En raison de la longueur de l'article, cette section sera présentée ici en premier. Vous pouvez également d’abord comprendre les méthodes de fonctionnement et de solution localement. Dans l'article de suivi "PHP Random Picking One Algorithm (2) ", nous continuerons à présenter en détail le processus d'implémentation de PHP Random Picking One Algorithm sur la base du code ci-dessus.

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!

Déclaration:
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