作者mayalu (小君)
看板Perl
标题[问题] 计算问题
时间Wed Sep 3 12:08:02 2008
题目是:从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
1F:推 jlovet:while ($sum + $n <= 100) 09/03 18:07
2F:推 salagadoola:while($sum<=100)会加到超过100才离开回圈,就多算了1 09/05 06:08
3F:→ salagadoola:先$sum+=$n再$n++而非先增加$n再加到$sum,又会多算1 09/05 06:09
4F:→ salagadoola:所以才会跑出15而不是13 09/05 06:09