看板 Perl 關於我們 聯絡資訊
題目是:從1加到n,那麼在累加結果不超過100,n的最大值應該是多少? 以下是程式碼: use strict; my ($sum, $n); while ($sum <= 100) { $sum+=$n; $n++; } print $n; 看起來覺得是對的, 可是答案錯了 應該是13, 可是算出來是15, 可以請教要如何更改嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.129.151.5
jlovet:while ($sum + $n <= 100) 09/03 18:07
salagadoola:while($sum<=100)會加到超過100才離開迴圈,就多算了1 09/05 06:08
salagadoola:先$sum+=$n再$n++而非先增加$n再加到$sum,又會多算1 09/05 06:09
salagadoola:所以才會跑出15而不是13 09/05 06:09