ソース:
-module(program2).
-export([start/1]).
% フィボナッチ数列 {1,1,2,3,5,8,13,...} の計算
fib(1) -> 1;
fib(2) -> 1;
fib(N) -> fib(N-1) + fib(N-2).
start( N ) ->
if
N > 4000000 -> io:format("over 4000000~n");
(N rem 2) =:= 0 -> prog_fib( N );
true -> prog_fib(N-1)
end.
prog_fib(1) -> fib(1);
prog_fib(2) -> fib(2);
prog_fib(N) -> fib(N) + prog_fib(N-2).
40とか50以上はなかなか終わりません。
0 件のコメント:
コメントを投稿