ПочатиПочніть безкоштовно

Порахувати кількість викликів функції

Розгляньмо класичний приклад рекурсії — послідовність Фібоначчі, задану невід'ємними числами, що починаються з 0, де кожен елемент \(F(n)\) дорівнює сумі двох попередніх: 0, 1, 1, 2, 3, 5, 8, 13, 21, .... Вам надано функцію, що повертає кортеж з n-им елементом послідовності та кількістю викликів fib(), які були використані:

def fib(n):

  if n < 2:
    return (n, 1)

  fib1 = fib(n-1)
  fib2 = fib(n-2)

  return (fib1[0] + fib2[0], fib1[1] + fib2[1] + 1)

Скільки викликів fib() потрібно, щоб обчислити \(15^{th}\) та \(20^{th}\) елементи послідовності?

Ця вправа є частиною курсу

Практика співбесід із програмування на Python

Переглянути курс

Практична інтерактивна вправа

Перетворіть теорію на практику за допомогою однієї з наших інтерактивних вправ

Почати вправу