Вывести значения рекурсивной функции при значениях аргумента от 1 до 10 включительно - Pascal ABC
Формулировка задачи:
Вывести значения рекурсивной функции при значениях аргумента от 1 до 10 включительно.
Найти член последовательности, заданной следующим образом:
y1=0; y2=10; yn=2∙yn-1-yn-2, где n>2.
Помогите пожалуйста, как-то не получается. :C
Решение задачи: «Вывести значения рекурсивной функции при значениях аргумента от 1 до 10 включительно»
textual
Листинг программы
function recursion(n :integer):integer; begin if n=1 then recursion:=0 else if n=2 then recursion:=10 else recursion:=2*recursion(n-1)-recursion(n - 2); end; Var n:integer; begin for n:=1 to 10 do writeln(recursion(n)); end.
Объяснение кода листинга программы
В данном коде объявлена рекурсивная функция recursion, которая принимает целочисленный аргумент n. Внутри функции проверяется базовый случай, когда n равно 1, в этом случае функция возвращает 0. Если n равно 2, то функция возвращает 10. В остальных случаях функция вызывает саму себя, передавая n-1 и n-2 в качестве аргументов, и умножает результат на 2.
Затем в блоке for происходит итерация от 1 до 10 (включительно). На каждой итерации вызывается функция recursion с аргументом n и результат выводится на экран с помощью функции writeln.
Таким образом, данный код выводит значения рекурсивной функции при аргументах от 1 до 10 включительно.