zoukankan      html  css  js  c++  java
  • 一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号

    <?php
    /**
     * [猴子选大王]
     * @param  [type] $m [猴子数]
     * @param  [type] $n [出局次数]
     * @return [type]    [description]
     */
    //echo "1";
    function monkey($m,$n){
        //定义一个数组
        for($i=1;$i<$m+1;$i++){
             $arr[]=$i;
        }
        //数组里的任意一个数
        // $arr=rand(1,10);
        //$arr=array(1,2,3,4,5,6,7,8,9);
        //设置数组指针
        $i=0;
        //循环数组,判断猴子次数
        while(count($arr)>1){
           if(($i+1)%$n==0){
              unset($arr[$i]);//把第m只猴子踢出去
           }else{
                 array_push($arr,$arr[$i]);//把第m只猴子放在最后面
                 unset($arr[$i]);//删除
           }
           $i++;
        }
        return $arr[$i];//返回结果
    }
    //var_dump((monkey(6,4)));//测试,输出编号
    echo "猴子大王的编号是".intval((monkey(6,8)));
    ?>


  • 相关阅读:
    dedecms代码研究五
    dedecms代码研究四
    判断有没有真正点击打印
    SAP中删除假脱机请求
    商品扩地点不成功
    记录一些使用的abap小程序帮助开发
    sap abap 程序 中使用 FTP . <转载>
    SM37 后台调试
    ftp上传下载| 图片上传下载
    ALV调用的几个标准函数 <转自 思微随想>
  • 原文地址:https://www.cnblogs.com/shaohuixia/p/5429719.html
Copyright © 2011-2022 走看看