zoukankan      html  css  js  c++  java
  • PHP编程----猴子选大王

    <?php
    /**
    * 猴子选大王
    * 17个猴子围成一圈,从某个开始报数1-2-3-1-2-3-……报“3”的猴子就被淘汰,
    * 游戏一直进行到圈内只剩一只猴子它就是猴大王了
    *
    * 编程思路
    * 如果猴子被淘汰则unset() 否则array_push() 不停循环 直至数组中只有一个元素
    *
    * 假如5个猴子 每报一个数 数组的值
    *
    * 初始数组
    * Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
    * 开始报数
    * Array ( [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 1 )
    * Array ( [2] => 3 [3] => 4 [4] => 5 [5] => 1 [6] => 2 )
    * Array ( [4] => 5 [5] => 1 [6] => 2 [7] => 4 )
    * Array ( [5] => 1 [6] => 2 [7] => 4 [8] => 5 )
    * Array ( [7] => 4 [8] => 5 [9] => 2 )
    * Array ( [8] => 5 [9] => 2 [10] => 4 )
    * Array ( [10] => 4 [11] => 2 )
    * Array ( [11] => 2 [12] => 4 )
    * Array ( [12] => 4 )
    */
    function king($m, $n){
      for($i = 1; $i < $m+1; $i++){
        $arr[] = $i;
      }
      $i = 0;
      print_r($arr);echo '<br>';
      while(count($arr) > 1){
        if(($i + 1) % $n == 0){
          unset($arr[$i]);
        }else{
          array_push($arr, $arr[$i]);
          unset($arr[$i]);
          print_r($arr);echo '<br>';
        }
        $i++;
      }
      print_r($arr);
    }

    king(5, 3);

  • 相关阅读:
    Android之文件&XML
    Dialog组件
    Android模拟器使用SD卡(2)
    Android 蓝牙开发浅析
    创建和解析XML
    android 读取文件相关
    android 网络编程 HttpGet类和HttpPost类使用详解
    Android模拟器使用SD卡(1)
    Android中控件的OnKeyListener()事件
    [转]Android蓝牙开发浅谈
  • 原文地址:https://www.cnblogs.com/catcrazy/p/6250345.html
Copyright © 2011-2022 走看看