2011年1月28日金曜日

ProjectEulerを斬る!Problem2

Problem 2
19 October 2001

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.

新たなフィボナッチ数列の要素はその前の2つの要素を足し合わせることでできます。Wiki
1と2から始まって最初の10つの数列の要素は・・・
1,2,3,5,8,13,21,34,55,89・・・となります。
今、4000000を越さないフィボナッチ数列の要素を考えます、そのなかで偶数の要素の総和を求めなさい。
(日本語訳PNN)




dim a,3
a(0)=0
a(1)=1
a(2)=2

sum = a(2)

repeat
a(0) = a(1) + a(2)
if a(0)>4000000 {
break
}

if int(a(0)/2)*2 == a(0) {
sum += a(0)
}
a(1) = a(2)
a(2) = a(0)
loop

input sum


出力結果:4613732

フィボナッチ数列は隣り合う要素の比が黄金比に近づいていくことが知られています。

0 件のコメント:

コメントを投稿