通过编程从逻辑实现开始,所以请找到我为 Euler Ques 项目所做的诚实努力,尽管我尝试了各种尝试来解决但无法通过它:(
我从中得到的总和是 - 257112
。我在总和中添加了 +2 以a[1] = 2
在系列中计数,但它不起作用,我目前正在传递一个静态值45
,$num
但我认为这不是正确的方法,让我知道我在逻辑上落后于问题的地方.
斐波那契数列中的每个新项都是通过添加前两项来生成的。从 1 和 2 开始,前 10 个术语将是:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
通过考虑斐波那契数列中值不超过四百万的项,求偶数项之和。
这是我试过的代码-->
$a = array();
$a[0] = 1; $a[1] = 2; $num = 45; $i= 0; $sum = 0; $stop = $num -2;
for($i; $i < $stop ; $i++ ) {
$a[$i+2] = $a[$i+1] + $a[$i];
if( $a[$i+2]%2 == 0 && $a[$i+2] <= 400000 )
{
$sum += $a[$i+2];
}
}
echo "<pre>";
print_r($a);
echo "<br>"."Sum is : ".$sum;
编辑- 添加一个额外的零使其成为 400 万是错误的,尽管我正在寻找 $num 不是静态的东西(正如我刚刚随机提到的 45,虽然它可以工作但它不是一个干净的解决方案)