查看完整版本: PHP計算水量幾公升,有點搞不懂(已解決,感謝各位前輩)
頁: [1]

chialewang 發表於 2019-8-5 09:07 AM

PHP計算水量幾公升,有點搞不懂(已解決,感謝各位前輩)

本帖最後由 chialewang 於 2019-8-6 08:45 PM 編輯

各位前輩 您們好:

<?php

$j=-1;
$i=5000;

while($i>=500){

        $j++;
        echo '第'.$j.'天剩下'.$i.'公升的水<br>';
        $i/=2;
}

echo '第'.($j+1).'天結束,剩下'.$i.'公升的水,少於500公升<br>';

?>

輸出:
第0天剩下5000公升的水
第1天剩下2500公升的水
第2天剩下1250公升的水
第3天剩下625公升的水
第4天結束,剩下312.5公升的水,少於500公升


問題1.
($j+1),為何要+1 ?

問題2.
剩下'.$i.'公升的水
為何這樣寫,程式就會自動計算剩下多少公升?

問題3.
為何不是第1天剩下5000公升的水?

問題4.
為何 $j=-1; 而不是 =1 ?


問題多多,煩請有空的前輩指教 感恩

...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

daneil4444 發表於 2019-8-5 10:20 AM

程式追蹤如果覺得很複雜就畫圖
  $j      -1            0          1           2           3     
echo                5000     2500      1250       625
  $i     5000      2500     1250       625       312.5(312.5沒大於等於500,結束了!不會在進入迴圈)
所以$j停留在3
你要把結束那天的顯示出來,不就是第四天??所以$j+1阿
q2:
$i/=2;每一回合不都將i除以2??
q3 q4自己看表.
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

chialewang 發表於 2019-8-5 09:49 PM

daneil4444 發表於 2019-8-5 10:20 AM static/image/common/back.gif
程式追蹤如果覺得很複雜就畫圖
  $j      -1            0          1           2           3     
e ...

daneil4444 前輩 您好:

謝謝您詳細的說明
此問題我已經了解了

感恩您耐心地回答我的每篇問題
真的很感恩{:54:}
頁: [1]