Нахождение элемента последовательности по его номеру - Free Pascal
Формулировка задачи:
Здравствуйте! Помогите пожалуйста с заданием:
Нужно написать программу нахождения элемента последовательности:
- массивами пользоваться запрещено!
- запрещено использовать операции возведения в степень, экспоненту и логарифм.
a1(1 внизу как бы, как индекс)=1
a2=2
an+1(n+1 - индекс, внизу)=3an(n -индекс)+an-1(n-1 тоже индекс)
Заранее спасибо!
Решение задачи: «Нахождение элемента последовательности по его номеру»
textual
Листинг программы
var k:integer; function posl(n:integer):longint; begin if n=1 then posl:=1 else if n=2 then posl:=2 else posl:=3*posl(n-1)+posl(n-2) end; begin write('номер элемента: ');readln(k); writeln('a(',k,') = ',posl(k)) end.
Объяснение кода листинга программы
В данном коде реализована рекурсивная функция posl для вычисления элемента последовательности по его номеру.
- Переменная k инициализируется как целочисленный тип данных, в который будет записан номер элемента.
- Функция posl принимает целочисленный тип данных n, который является номером элемента последовательности.
- Если n равно 1, то функция возвращает 1.
- Если n равно 2, то функция возвращает 2.
- В противном случае, функция вызывает саму себя (рекурсия) с аргументами n-1 и n-2, и возвращает результат умноженный на 3.
- После завершения работы функции posl, программа запрашивает у пользователя номер элемента и выводит соответствующий элемент последовательности.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д