Рекурсия - Prolog (226850)
Формулировка задачи:
Задана функция f(x), которая принимает значение:
4, при x = 2
(f(x-1))^(x-10) , при x > 2
X вводится с клавиатуры, нужно решить систему при помощи рекурсии.
Мой вариант:
При X <= 2, а также дробных значениях работает исправно. Не работает для целых X>2, а именно ничего не выводит
Листинг программы
- Predicates
- f(real, real)
- write_f(real, real)
- Goal
- write("Enter X: "), readreal(X),
- write_f(X, F).
- Clauses
- f(2, F):- F = 4, !.
- f(X, F):-
- X > 2, NEW_X = X - 1, f(NEW_X, F), K = X - 10,
- DEGREE = (X - 10) * ln(F), F = exp(DEGREE);
- X < 2, F = 0, write("No solution!").
- write_f(X, F):-
- f(X, F), write("F = "), write(F).
Решение задачи: «Рекурсия»
textual
Листинг программы
- Clauses
- ...
- f(X, F):-
- X > 2, NEW_X = X - 1, f(NEW_X, NEW_F), K = X - 10,
- DEGREE = (X - 10) * ln(NEW_F), F = exp(DEGREE);
- ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д