溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php編程 - php分糖果問題

發(fā)布時間:2020-06-11 19:32:46 來源:網(wǎng)絡(luò) 閱讀:351 作者:wo1148 欄目:web開發(fā)

php編程 - php分糖果問題

分糖果

10個小孩圍成一圈。老師分個

1:10塊糖

2:2塊

3:8塊

4:22塊

5:16快

6:4塊

7:10塊

8:6塊

9:14塊

10:20塊


然后所有的的小孩同時把手中的糖分一半給右邊的小孩。糖塊為奇數(shù)的可向

老師要一塊。經(jīng)過幾次后手中的糖的塊數(shù)一樣多。每人各幾塊糖

<?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塊
然后所有的的小孩同時把手中的糖分一半給右邊的小孩。糖塊為奇數(shù)的可向
老師要一塊。經(jīng)過幾次后手中的糖的塊數(shù)一樣多。每人各幾塊糖
*/
/*
$i = array()來存每個小孩手中的糖
*/
?>
<?php
    $arr = array(10,2,8,22,16,4,10,6,14,20);//小孩手中的糖
    $times = 0;//分糖字?jǐn)?shù)
      
    //如果小孩的手中糖一樣就停止
    //就是判斷相鄰的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;//用來判斷糖塊是否一樣默認(rèn)是不一樣
    //echo isSame($arr);
    while($true <1){
        $b =true;
        $m = $arr[9]; //第10個小孩手中的糖 主要是防止被覆蓋
        //第一次分糖后小孩手中的糖的數(shù)量
        //第2位糖的數(shù)量 = 第一位的/2+自己的/2
        //第3位糖的數(shù)量 = 第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;  //奇數(shù)就要一個糖
            }
        }
          
        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問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI