• 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);

  • 相关阅读:
    面试题:最小的K个数
    面试题:反转链表
    面试题:二进制中1的个数
    数据结构之二叉树
    Serializable-源码分析
    归并、希尔、快速排序
    栈与队列
    简单排序(冒泡、选择、插入)
    Shiro 框架认证和授权
    mybatis select查询使用返回结果为resultMap
  • 原文地址:https://www.cnblogs.com/catcrazy/p/6250345.html
Copyright © 2020-2023  润新知