Рекурсия - Prolog (226850)

Узнай цену своей работы

Формулировка задачи:

Задана функция f(x), которая принимает значение: 4, при x = 2 (f(x-1))^(x-10) , при x > 2 X вводится с клавиатуры, нужно решить систему при помощи рекурсии. Мой вариант:
Листинг программы
  1. Predicates
  2. f(real, real)
  3. write_f(real, real)
  4. Goal
  5. write("Enter X: "), readreal(X),
  6. write_f(X, F).
  7. Clauses
  8. f(2, F):- F = 4, !.
  9. f(X, F):-
  10. X > 2, NEW_X = X - 1, f(NEW_X, F), K = X - 10,
  11. DEGREE = (X - 10) * ln(F), F = exp(DEGREE);
  12. X < 2, F = 0, write("No solution!").
  13. write_f(X, F):-
  14. f(X, F), write("F = "), write(F).
При X <= 2, а также дробных значениях работает исправно. Не работает для целых X>2, а именно ничего не выводит

Решение задачи: «Рекурсия»

textual
Листинг программы
  1. Clauses
  2.     ...
  3.     f(X, F):-
  4.         X > 2, NEW_X = X - 1, f(NEW_X, NEW_F), K = X - 10,
  5.             DEGREE = (X - 10) * ln(NEW_F), F = exp(DEGREE);
  6.     ...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.3 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут