Не удаётся вычислить факториал числа 3 и выше - Prolog
Формулировка задачи:
Вот мой код в .pl
Когда вводишь в самой программе один из вариантов ниже, то ответ всегда правильный:
fact(N,s(zero)).;
fact(s(zero),s(zero)).;
fact(N, (s(s(zero))).;
fact(s(s(zero)), s(s(zero))).
Но если уже вводишь для числа 3 и выше, например:
fact(s(s(s(s(s(s(zero)))))), s(s(s(zero)))).
то никакого ответа вообще нет, ни true, ни false, ни error, вообще ничего. Не могу понять в чём проблема.
Решение задачи: «Не удаётся вычислить факториал числа 3 и выше»
textual
Листинг программы
3 ?- fact(s(s(s(zero))), s(s(s(s(s(s(zero))))))). true . 4 ?- fact(s(s(s(zero))), F). F = s(s(s(s(s(s(zero)))))) .
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д