PHP总结了从0到200的所有偶数

时间:2015-06-16 10:22:17

标签: php

我试图总结从0到200的所有偶数,我找到了2种可能的工作方式,但第三种方法(最有效的方法)让我头疼。这是我到目前为止所做的:

第一种方法:

$total = 0;
$number = 0;

while ($number < 200)
{
    if ($number % 2 == 0)
    {
        $total = $total + $number;
    }
    $number++;
}

echo $total;

第二种方法:

    $total = 0;
    for($number = 0; $number < 200; $number+=2) 
    {
        $total += $number;
    }
echo $total;

第三种方法(不能让它起作用)

echo array_sum(range(1,200,2));

我应该如何更改我的上一个方法以使其按预期工作?

编辑:似乎所有方法都不起作用:输出应为10100,但前两种方法为9900,第三种方法为10000.

3 个答案:

答案 0 :(得分:2)

从0开始但是1

echo array_sum(range(0,200,2));

结果10100

答案 1 :(得分:2)

您需要使用

2015/06/15 17:15:17:215 [ERROR] MyClass Error: Error #3013
                at MyClass/openCsv()
                ...

echo array_sum(range(0,198,2));
  

因为上述函数会将值汇总到echo array_sum(range(0,199,2)); ,而在200while循环中,只有for才会计算到198定义

$number < 200

答案 2 :(得分:1)

在您尝试的两种方法中,您的条件是该数字不应超过200.我在此处也使用了相同的方案。

echo array_sum(range(0,199,2));

预期输出为9900。

但正确答案是10100。

要获得10100,我们需要用200替换199。

公式(数学)

  

2 + 4 + 6 + 8 + 10 + .............. + 198 + 200 = 2(1 + 2 + 3 + 4 + 5 + ..... + 100)

     

= 2((100 * 101)/ 2)(公式:n(n + 1)/ 2; n是最后一项)

     

= 100 * 101

     

= 10100