何かを書き留める何か

数学や読んだ本について書く何かです。最近は社会人として生き残りの術を学ぶ日々です。

Project Euler Problem 2

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, ...

By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

http://projecteuler.net/problem=2

 

Fibonacci数列において、項の値が400万を超えない範囲における偶数値の総和を求める問題。本当は問題の分析などすべきだろうがSage Math にはfibonacci_xrangeというこの問題のために作られたとしか考えられない組み込み函数がある。

折角なので使う。

----

print sum([i for i in fibonacci_xrange(4000000) if is_even(i)])

----

一所懸命考えている人にこんなソース見せたら怒られそうだが、車輪の再発明をするよりかはいいのか。