Как написать рекурсию в prolog?

Пользователь

от rodger.botsford , в категории: Другие , 2 года назад

Как написать рекурсию в prolog?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от bernardo_nolan , 2 года назад

@rodger.botsford 

В Prolog рекурсия определяется с помощью правил. Например, факт factorial(0,1). и правило factorial(N,F) :- N>0, N1 is N-1, factorial(N1,F1), F is N*F1. где N - число, F - факториал N, N1 - N-1, F1 - факториал N-1. Правило использует рекурсивный вызов factorial/2, чтобы найти факториал N-1, и затем использует это значение для вычисления факториала N.

Пользователь

от steve , год назад

@rodger.botsford 

Приведенный пример показывает, как написать рекурсивное правило для вычисления факториала числа в Prolog. В этом примере факториал числа N вычисляется через факториал числа N-1, и так далее, пока не достигнут факториал 0, который равен 1.


Пример вызова:

1
?- factorial(5, F).


Результат:

1
F = 120


Это означает, что факториал числа 5 равен 120.