LoginSignup
1
2

More than 5 years have passed since last update.

Project Euler Q2 【偶数のフィボナッチ数】

Last updated at Posted at 2017-09-29

Project Eulerをワンライナーで解いてみる。
間違っていたらコメントください。

問題

フィボナッチ数列の項は前の2つの項の和である. 最初の2項を 1, 2 とすれば, 最初の10項は以下の通りである.
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

数列の項の値が400万以下の, 偶数値の項の総和を求めよ.

Note:この問題は最近更新されました. お使いのパラメータが正しいかどうか確認してください.

解答

ワンライナーとは言わないか。。

a=0;b=1;for i in $(seq 50); do s=$(($a+$b)); echo $s;a=$b;b=$s;done |
awk '$1<=4000000 && $1%2==0{a+=$1}END{print a}'
4613732

フィボナッチ数列の出し方についてこういったものもあったけど、awkでforやwhileは個人的には使いたくないなぁ。
awkでforは覚えておくとよい!

awk 'BEGIN{n=1;fn2=fn=1;while(n<50) {n++;fn=fn1+fn2;print fn;fn1=fn2;fn2=fn;}}'

答え合わせ

こちらのサイト様と一致していればOKとしました。
http://kingyojima.net/pje/002.html

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2