欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php約瑟夫問題解決關于處死犯人的算法

 更新時間:2015年03月23日 15:07:53   作者:ishare  
這篇文章主要介紹了php約瑟夫問題解決關于處死犯人的算法,實例分析了php關于約瑟夫問題的實現(xiàn)與應用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了php約瑟夫問題解決關于處死犯人的算法。分享給大家供大家參考。具體分析如下:

古代某法官要判決IV個犯人的死刑,他有一條荒唐的法律將犯人站成一個圓圈,從第s個人開始數(shù)起,每到第D個人就拉出來處死,然后再數(shù)D個,再拉出來處決…… 直到剩下最后一個可以赦免.

function getNum($n,$m){
  //用于把所有的數(shù)存到數(shù)組初始化
  $a = array();
  //遍歷,存入數(shù)組
  for($i=1;$i<=$n;$i++){
    $a[$i] = $i;
  }
  //指針歸0
  reset($a);
  while(count($a)>1){
    //如果數(shù)組中項大于1,繼續(xù)循環(huán)剔除元素
    //剔除規(guī)則
    for($j=1;$j<=$m;$j++){
        //如果沒有達到數(shù)組的最后項
      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);

希望本文所述對大家的php程序設計有所幫助。

相關文章

最新評論