PHP算法
in Tutorials with 0 comment

PHP算法

in Tutorials with 0 comment

选择猴子大王

一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的 进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。

详细代码:

function king($m, $n) {
    $monkeys = range(1, $n);
    $i = 0;
    while (count($monkeys) > 1) {
        if (($i+1)%$m !== 0) {
            array_push($monkeys, $monkeys[$i]);
        }
        unset($monkeys[$i]);
        $i++;
    }
    return current($monkeys);
}
Responses