]]> ]]>

Факториал в Prolog

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

Используется рекурсивное определение факториала.

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

factorial(0, 1) :- 
    !.
factorial(N, F) :-
    N > 0,
    N1 is N - 1,
    factorial(N1, F1),
    F is N * F1.

main :-
    ( for(N, 0, 16) do
        factorial(N, F),
        write(N), write('! = '), write(F), nl ).

Комментарии

]]>

blog comments powered by Disqus

]]>

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