• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Изучаю програмирование на Python.

PythonSun

New member
04.05.2020
1
0
BIT
0
Проблема! Я не понимаю код:

Найти для определенного порядкового номера число Фибоначчи


def recur_rib(n):
if n<=1:
return n
return recur_rib(n-1) + recur_rib(n-2)
print(recur_rib(10))

Как программа находит исходный данные - числа Фибоначи

Подскажите куда смотреть и что читать..





P.s.

Этот код я понимаю как мы находим 15 или 20 первых чисел Фибоначчи:

def fib(n):
result = [ ]
a,b=0,1
while a<n:
result.append(a)
a,b=b,a+b
return result
fib(n)
 

KaPToHHbIu_EHoT

Green Team
08.11.2020
79
13
BIT
0
Проблема! Я не понимаю код:
Ты потому и не понимаешь этот код, что это - не код, а какой-то бред сивой кабылы.
Для того, чтобы составить на Python программу для нахождения определённого члена последовательности Фибоначчи, нужно ввести в алгоритм переменную-счётчик. Кроме того, удобно воспользоваться присвоением с применением "синтаксического сахара":
pred , x = predpred, pred
где x, pred, predpred - три подряд идущих члена последовательности.
Каждый последующий член равен сумме двух предыдущих.



PostScriptum
Ув.Админы. Чё вы там "мутите" с моим аккаунтом ? Ну прям, как дети. Вы сами-то себе не смешны? У меня тут половина bb-кодов напечатанных не отображаются .
Реально, клоуны. УспАгойТезь, уже.
 
Последнее редактирование:

KaPToHHbIu_EHoT

Green Team
08.11.2020
79
13
BIT
0
Вот ещё пример с использованием генератора (без использования переменной-счётчика.)
Такой алгоритм требует минимум ресурсов компьютера ))
Здесь - вычисляется пятый член последовательности.
Код:
def fibonacci():
    a, b = 1, 1
    while True:
        yield a
        a, b = b, a + b

gen = fibonacci()
for i in range(5):
    print(next(gen))
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!