Home > Backend Development > PHP Tutorial > php Joseph problem solving algorithm about executing prisoners, php Joseph prisoner algorithm_PHP tutorial

php Joseph problem solving algorithm about executing prisoners, php Joseph prisoner algorithm_PHP tutorial

WBOY
Release: 2016-07-13 10:01:05
Original
757 people have browsed it

php Joseph's problem solving algorithm for executing prisoners, php Joseph's prisoner algorithm

This article describes the example of php Joseph's problem solving algorithm for executing prisoners. Share it with everyone for your reference. The specific analysis is as follows:

In ancient times, a judge wanted to sentence IV prisoners to death. He had a ridiculous law that made the prisoners stand in a circle, counting from the sth person, and every time they reached the Dth person, they would be pulled out and executed, and then count D more , and then pull them out and execute them... until the last one left can be pardoned.

function getNum($n,$m){
  //用于把所有的数存到数组初始化
  $a = array();
  //遍历,存入数组
  for($i=1;$i<=$n;$i++){
    $a[$i] = $i;
  }
  //指针归0
  reset($a);
  while(count($a)>1){
    //如果数组中项大于1,继续循环剔除元素
    //剔除规则
    for($j=1;$j<=$m;$j++){
        //如果没有达到数组的最后项
      if(next($a)){
        if($j==$m){
          //删除m项
          unset($a[array_search(prev($a),$a)]);
        }
      }else{
        //如果next不存在,那么指针归0
      reset($a);
      if($j==$m){
        unset($a[array_search(end($a),$a)]);
        reset($a);
      }
    }
   }
  }
  return current($a);
}
echo getNum(5,3);
Copy after login

I hope this article will be helpful to everyone’s PHP programming design.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/972650.htmlTechArticlephp Joseph problem solving algorithm about executing prisoners, php Joseph prisoner algorithm This article tells the example of php Joseph problem solving about execution Prisoner's algorithm. Share it with everyone for your reference...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template