Нахождение элемента последовательности по его номеру - 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 для вычисления элемента последовательности по его номеру.

  1. Переменная k инициализируется как целочисленный тип данных, в который будет записан номер элемента.
  2. Функция posl принимает целочисленный тип данных n, который является номером элемента последовательности.
  3. Если n равно 1, то функция возвращает 1.
  4. Если n равно 2, то функция возвращает 2.
  5. В противном случае, функция вызывает саму себя (рекурсия) с аргументами n-1 и n-2, и возвращает результат умноженный на 3.
  6. После завершения работы функции posl, программа запрашивает у пользователя номер элемента и выводит соответствующий элемент последовательности.

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


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

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

9   голосов , оценка 4 из 5
Похожие ответы