约瑟夫问题(一堆数据每隔几循环取出)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了约瑟夫问题(一堆数据每隔几循环取出)相关的知识,希望对你有一定的参考价值。

function question($arr) {
    global $outStr;
    global $b;
    foreach($arr as $key=>$val) {
        if(($key+1)% $b == 0) {
            unset($arr[$key]);
            array_push($outStr,$val);
            } else {
            unset($arr[$key]);
            array_push($arr,$val);
            }            
        }
    return $arr;    
}
//约瑟夫问题
$a = array(‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,‘n‘,‘o‘,‘p‘,‘q‘,‘r‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘x‘,‘y‘,‘z‘);//传入的数据
$b = 3;//每隔几个取数据
$outStr=array();
while (count($a)>=3) {
    $a=question($a);    
}
foreach($a as $key => $val) {
    array_push($outStr,$val);
}
var_dump($outStr);

技术分享

以上是关于约瑟夫问题(一堆数据每隔几循环取出)的主要内容,如果未能解决你的问题,请参考以下文章