Module (56%)
Section (78%)

Некоторые простые функции: числа Фибоначчи

Вы знакомы с числами Фибоначчи?

Они представляют собой последовательность целых чисел, построенную по очень простому правилу:

  • первый элемент последовательности равен единице (Fib1 = 1)
  • второй также равен единице (Fib2 = 1)
  • каждое последующее число является суммой двух предыдущих чисел:
    (Fibi = Fibi-1 + Fibi-2)

Вот некоторые из первых чисел Фибоначчи:

fib_1 = 1
fib_2 = 1
fib_3 = 1 + 1 = 2
fib_4 = 1 + 2 = 3
fib_5 = 2 + 3 = 5
fib_6 = 3 + 5 = 8
fib_7 = 5 + 8 = 13

Что Вы думаете о реализации этой функции?

Давайте создадим нашу функцию fib и протестируем ее:

def fib(n): if n < 1: return None if n < 3: return 1 elem_1 = elem_2 = 1 the_sum = 0 for i in range(3, n + 1): the_sum = elem_1 + elem_2 elem_1, elem_2 = elem_2, the_sum return the_sum for n in range(1, 10): # testing print(n, "->", fib(n))

Тщательно проанализируйте тело цикла for и узнайте, как мы перемещаем переменные elem_1 и elem_2 по последовательности чисел Фибоначчи.

Тестовая часть кода дает следующий результат:

1 -> 1 2 -> 1 3 -> 2 4 -> 3 5 -> 5 6 -> 8 7 -> 13 8 -> 21 9 -> 34

output


Code

{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×