Числа Фибоначчи в Prolog
Пример для версий
B-Prolog 7.4-3,
gprolog 1.3.0,
swipl 5.6.x
Пример почти идентичен примеру для Poplog Prolog, за исключением синтаксиса подключения файла.
% fibonacci.pl
:- dynamic(stored/1).
memo(Goal) :-
stored(Goal) -> true;
Goal, assertz(stored(Goal)).
fib(1,1) :- !, write('1, ').
fib(2,1) :- !, write('1, ').
fib(N,F) :-
N1 is N-1, memo(fib(N1,F1)),
N2 is N-2, memo(fib(N2,F2)),
F is F1 + F2,
write(F), write(', ').
% interactive
[fibonacci].
fib(16,X), write('...'), nl.
Комментарии
]]>blog comments powered by Disqus
]]>