Рекурсивно найти N-й элемент последовательности чисел Фибоначчи - PascalABC.NET
Формулировка задачи:
Подскажите, пожалуйста, как написать такую простенькую программу:
Описать рекурсивную функцию Fib2(N) целого типа, вычисляющую
N-й элемент последовательности чисел Фибоначчи (N — целое число):
F1 = F2=F3=1, FK = FK−3+FK−2 + FK−1, K = 4, 5, . . . . Считать, что номер N не превосходит 20. Вывести результат вместе с количеством рекурсивных вызовов функции.
Решение задачи: «Рекурсивно найти N-й элемент последовательности чисел Фибоначчи»
textual
Листинг программы
function fib2(N:integer):integer;
Объяснение кода листинга программы
Список элементов с номерами до 20:
fib2
- название функцииN
- параметр функции, тип данных - integer, значение - не определеноresult
- переменная результата, тип данных - integer, значение - не определеноa
- первая константа последовательности Фибоначчи, тип данных - integer, значение - 0b
- вторая константа последовательности Фибоначчи, тип данных - integer, значение - 1i
- счётчик числа итераций, тип данных - integer, значение - не определеноsum
- сумма двух предыдущих чисел последовательности, тип данных - integer, значение - не определено Список элементов с номерами от 21 до 40:fib3
- название функцииN
- параметр функции, тип данных - integer, значение - не определеноresult
- переменная результата, тип данных - integer, значение - не определеноa
- первая константа последовательности Фибоначчи, тип данных - integer, значение - 0b
- вторая константа последовательности Фибоначчи, тип данных - integer, значение - 1i
- счётчик числа итераций, тип данных - integer, значение - не определеноsum
- сумма двух предыдущих чисел последовательности, тип данных - integer, значение - не определено Список элементов с номерами от 41 до 60:fib4
- название функцииN
- параметр функции, тип данных - integer, значение - не определеноresult
- переменная результата, тип данных - integer, значение - не определеноa
- первая константа последовательности Фибоначчи, тип данных - integer, значение - 0b
- вторая константа последовательности Фибоначчи, тип данных - integer, значение - 1i
- счётчик числа итераций, тип данных - integer, значение - не определеноsum
- сумма двух предыдущих чисел последовательности, тип данных - integer, значение - не определено Код выполняет рекурсивный поиск N-го элемента последовательности чисел Фибоначчи. Функцииfib2
,fib3
иfib4
идентичны между собой и описываются следующим образом:- Если N=0 или N=1, то результат равен N.
- Если N>1, то результат равен сумме двух предыдущих чисел последовательности (a и b), которые увеличиваются на 1 с каждой итерацией.
- Если N<0, то результат не определен.
Внутри каждой функции присутствуют переменные
a
иb
, которые инициализируются значениями 0 и 1 соответственно. Переменнаяi
используется как счётчик числа итераций, а переменнаяsum
используется для хранения суммы двух предыдущих чисел последовательности.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д