]]> ]]>

Числа Фибоначчи в Prolog

Пример для версий ECLiPSe CLP 6.0 #188

Числа Фибоначчи вычисляются рекурсивно.

Для организации цикла в предикате main используется специфичная для ECLiPSe итеративная управляющая структура (мета-предикат) for.

fibonacci(1, 1) :- !.
fibonacci(2, 1) :- !.
fibonacci(N, F) :-
    N > 2,
    N1 is N - 1, N2 is N - 2,
    fibonacci(N1, F1), fibonacci(N2, F2),
    F is F1 + F2.

main :-
    ( for(N, 1, 16) do
        fibonacci(N, F),
        write(F), write(', ') ),
    writeln('...').

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам