第2题: 偶斐波那契数
Problem 2: Even Fibonacci numbers
题目
偶斐波那契数
斐波那契数列中的每一项都是前两项的和。由 $1$ 和 $2$ 开始生成的斐波那契数列的前 $10$ 项为:
$$ 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, \ldots $$
考虑该斐波那契数列中不超过四百万的项,求其中为偶数的项之和。
Even Fibonacci numbers
Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with $1$ and $2$ , the first $10$ terms will be:
$$ 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, \ldots $$
By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.
解题方法
暴力计算
直接生成小于四百万的斐波那契数列,依次判断数字是否满足条件并累加。
通项公式
观察斐波那契数列 $F_{n}$ 可知,每间隔两个元素存在一个偶数。其中第一个偶数为 $F_{2}=2$,第二个偶数为 $F_{5}=8$。
现假设第 $n$ 项为偶数( $n>5$ ),则可以通过以下运算得到偶数项的计算公式如下:
$$ {{\begin{aligned}F_{n} &=F_{n-1}+F_{n-2} \\ &=(F_{n-2}+F_{n-3})+(F_{n-3}+F_{n-4}) \\ &=((F_{n-3}+F_{n-4})+F_{n-3})+(F_{n-3}+F_{n-4}) \\ &=3F_{n-3}+2F_{n-4} \\ &=3F_{n-3}+F_{n-4}+F_{n-5}+F_{n-6} \\ &=4F_{n-3}+F_{n-6} \\ \end{aligned}}} $$
取出所有的偶数项构成新的数列 $G$ ,公式如下
$$ G_{n} = \begin{cases} 2 & n=1 \\ 8 & n=2 \\ 4*G_{n-1} + G_{n-2} & n>2 \end{cases} $$
参考代码
|
|