温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php编程 - php分糖果问题

发布时间:2020-06-11 19:32:46 来源:网络 阅读:350 作者:wo1148 栏目:web开发

php编程 - php分糖果问题

分糖果

10个小孩围成一圈。老师分个

1:10块糖

2:2块

3:8块

4:22块

5:16快

6:4块

7:10块

8:6块

9:14块

10:20块


然后所有的的小孩同时把手中的糖分一半给右边的小孩。糖块为奇数的可向

老师要一块。经过几次后手中的糖的块数一样多。每人各几块糖

<?php
header("Content-Type: text/html; charset=utf-8");
/*
分糖果
10个小孩围成一圈。老师分个
1:10块糖
2:2块
3:8块
4:22块
5:16快
6:4块
7:10块
8:6块
9:14块
10:20块
然后所有的的小孩同时把手中的糖分一半给右边的小孩。糖块为奇数的可向
老师要一块。经过几次后手中的糖的块数一样多。每人各几块糖
*/
/*
$i = array()来存每个小孩手中的糖
*/
?>
<?php
    $arr = array(10,2,8,22,16,4,10,6,14,20);//小孩手中的糖
    $times = 0;//分糖字数
      
    //如果小孩的手中糖一样就停止
    //就是判断相邻的2个小孩一样就 +1.如果+到10就说明相等
    function isSame($arr){
        $shu =0;
        $b = false;
        for($j=0;$j< (sizeof($arr)-1) ;$j++){
            if($arr[$j] == $arr[$j+1]){
                $shu ++;
            }
              
            if($shu == (sizeof($arr)-1)){
                $b =true;
            }else{
                $b = false;
            }
              
            //return $shu;
        }
          
        return $b;//判断是否相等。如果相等就返回1
    }
    $true = 0;//用来判断糖块是否一样默认是不一样
    //echo isSame($arr);
    while($true <1){
        $b =true;
        $m = $arr[9]; //第10个小孩手中的糖 主要是防止被覆盖
        //第一次分糖后小孩手中的糖的数量
        //第2位糖的数量 = 第一位的/2+自己的/2
        //第3位糖的数量 = 第2位/+自己的/2
        for($n =9;$n>0;$n--){
            $arr[$n] = $arr[$n-1]/2 + $arr[$n]/2;
        }
          
        $arr[0] = $m/2 + $arr[0]/2;
          
        $times++;
          
        for($j =0;$j<10;$j++){
            if($arr[$j] %2 != 0){
                $arr[$j] +=1;  //奇数就要一个糖
            }
        }
          
        echo '第'.$times.'次分糖后小孩手中的糖块';
        for($mm=0;$mm<sizeof($arr);$mm++){
            echo $arr[$mm].' ';
        }
        echo '<br />';
        //return $arr;
        if( isSame($arr) == 1 ) $true = 1;//判断一样的时候
        //echo $true;
          
    }
      
    echo '分糖分了'.$times.'次<br />';
    echo '每个小孩最后分到的糖是:'.$arr[0];
      
      
      
?>


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI