Рекурсия: найти n-й член числовой последовательности, которая определяется рекуррентной формулой - Prolog
Формулировка задачи:
Доброго времени суток! Нужна помощь в решении задачи.
Найти n-й член числовой последовательности, которая определяется рекуррентной формулой a1 = 1, a2 = 2, a3 = 3, an+1 = 3an + 2an–1 + an–2.
Вот пример того, как я пытался ее решить:
Проблема заключается в том, что я не знаю как из индекса n вычитать число. К сожалению похожие темы на форуме не смогли мне помочь, совсем. Надеюсь что кто-то отзовется. Заранее спасибо.
Решение задачи: «Рекурсия: найти n-й член числовой последовательности, которая определяется рекуррентной формулой»
textual
Листинг программы
predicates pos(integer, integer) pos_accum(integer, integer, integer, integer, integer, integer) clauses pos(1 ,1) :- !. pos(2, 2) :- !. pos(3, 3) :- !. pos(N, P):- pos_accum(N, 3, 3, 2, 1, P). pos_accum(N, N, P, _, _, P) :- !. pos_accum(N, K, P1, P2, P3, P) :- K1 = K+1, P0 = 3*P1 + 2*P2 +P3, pos_accum(N, K1, P0, P1, P2, P).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д