Создать процедуру, результатом которой будет выражение, являющееся факториалом числа - Prolog
Формулировка задачи:
Здравствуйте.
Необходимо написать процедуру, результатом которой будет выражение, являющееся факториалом числа, и в котором числа (сомножители) упорядочены в порядке возрастания.
Нашёл код, но при компиляции выдаёт ошибку main.pro(10,12) Syntax error: '.' is expected. Помогите пожалуйста с программой.
Листинг программы
- implement main
- open core
- clauses
- run() :-
- console::init(),
- fact(0, 1) :-
- !.
- fact(N, X) :-
- N > 0,
- fact(N, 1, 1, X).
- fact(N, N, Xa, Xa) :-
- !.
- fact(N, Na, Xa, X) :-
- succ(Na, Nn),
- fact(N, Nn, Xa * Nn, X).
- end implement main
- goal
- mainExe::run(main::run).
Решение задачи: «Создать процедуру, результатом которой будет выражение, являющееся факториалом числа»
textual
Листинг программы
- fact(5, X),
- console::write(X).
Объяснение кода листинга программы
В коде представлена процедура вычисления факториала числа 5 и вывода его значения на экран.
fact(5, X)
— данная процедура вычисляет факториал числа 5 и сохраняет результат в переменную X.console::write(X)
— результат вычисления факториала выводится на экран с помощью функции write из модуля console.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д