2014年3月10日月曜日

プロジェクトオイラー問2

Problem 2 「偶数のフィボナッチ数」 

フィボナッチ数列の項は前の2つの項の和である. 最初の2項を 1, 2 とすれば, 最初の10項は以下の通りである.
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
数列の項の値が400万以下の, 偶数値の項の総和を求めよ.
Note:この問題は最近更新されました. お使いのパラメータが正しいかどうか確認してください.

http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%202


解法
Prolog言語

calc(_,F2,Sum):-F2>4000*1000,!,write(Sum).
calc(F1,F2,Sum):-
     !,
     F22 is 3*F2+2*F1,
     F11 is 2*F2+F1,
     Sum1 is Sum+F2,
     calc(F11,F22,Sum1).
main2:-

    calc(1,2,0).

0 件のコメント:

コメントを投稿