是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。
要求输入:n,k,m
输出:退出顺序
<?php //$n 人数 $k 开始位置 $m 要数得数字 function array_f($n,$k,$m){ for($i=1; $i <= $n ; $i++){ $oldArr[] = $i; } for ($i=0;$i<$k-1;$i++){ $num = array_shift($oldArr); $oldArr[] = $num; } for($i=0;$i<$n;$i++){ for($j=0;$j<$m-1;$j++){ $num = array_shift($oldArr); $oldArr[] = $num; } $newArr[] = array_shift($oldArr); } var_dump($newArr); } array_f(6,2,3);