У меня 3 задачи на вычисление чисел фибоначи (Python). Очень нужно! И желательно с объяснением! Задача 1
#d - это база данных факториалов: число:факториал числа
d={1: 1, 2: 2, 3: 6, }
# функция поиска факториала через базу данных
def FactDict(n):
if n in d.keys():
return d[n]
else:
r=1
for i in range(1,n+1):
r=r*i
d.update({i:r})
return r
Пробовать реализовать ту же самую функцию, только так, чтобы в пункте ELSE обновлялась не вся база данных, а только нужный кусочек
Задача 2
Напиши рекурсивный поиск n-ного члена арифметической прогрессии
def Arif(a0,d,n):
...
'>>>' Arif(1,1,10)
'>>>' 10
Задача 3
Числа Фибоначчи определяются рекуррентным выражением, т.е. таким, что вычисление элемента которого выражается из предыдущих элементов:
F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2)
Написать рекурсивную функцию, которая находит n-ное по счёту число Фибоначчи. n-это число, которое вводит пользователь
Тесты :
F(5) выдает 5
F(6) выдает 8
F(7) выдает 13