Python. Последовательность чисел Фибоначчи
Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для Вас с целью персонализации сервисов и предложений. Вы можете прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом без изменения настроек, вы даёте согласие на использование ваших cookie-файлов.
speech bubble

Python. Последовательность чисел Фибоначчи

Последовательность чисел Фибоначчи

 

Задание: Написать алгоритм последовательности чисел Фибоначчи на языке Python.

Дано:

Python(Питон) - язык программирования

sum_fib - сумма чисел

line - строковая переменная для хранения последовательности

number - номер числа в последовательности

number_fib1 - предыдущее число последовательности

number_fib2 - текущее число последовательности

index - счетчик для номера числа последовательности

 

Последовательность чисел Фибоначчи на python без рекурсии:

number_fib1 = 0
number_fib2 = 1
 
number = input("Номер элемента ряда Фибоначчи: ")
number = int(number)
index = 0
line = "0 1"

if number + 2 <= 1: //Для отображения первых чисел последовательности
    line = "0"
elif number + 2 == 2:
    line = "0 1"

while index < number - 2:
    sum_fib = number_fib1 + number_fib2
    number_fib1, number_fib2 = number_fib2, sum_fib
    index += 1
    line += " " + str(number_fib2) 

print("Последовательность чисел Фибоначчи", line)

Результат:

Номер элемента ряда Фибоначчи: 11
Последовательность чисел Фибоначчи 0 1 1 2 3 5 8 13 21 34 55

 

Рекурсивное вычисление чисел Фибоначчи на python:

def fibonacci(number):
    if number <= 1:
        return 0
    elif number == 2:
        return 1
        
    return fibonacci(n - 1) + fibonacci(n - 2)
 
 
print("Число последовательности равно " + str(fibonacci(11)))

Результат:

Число последовательности равно 55

 

В случае, когда необходимо показать и последовательность, то необходимо обернуть в цикл функцию fibonacci:

def fibonacci(number):
    if number <= 1:
        return 0
    elif number == 2:
        return 1
    return fibonacci(number - 1) + fibonacci(number - 2)

number = 11

for i in range(1, number + 1):
     print (str(fibonacci(i)))

Результат:

0
1
1
2
3
5
8
13
21
34
55

 

Получения n-ого по счёту числа Фибоначчи на python:

num_fib1 = 0 
num_fib2 = 1
number = input("Номер элемента ряда Фибоначчи: ")
number = int(number) - 2
 
while number > 0:
    num_fib1, num_fib2 = num_fib2, num_fib1 + num_fib2
    number -= 1
 
print("Значение этого элемента: " + str(num_fib2))

Результат:

Номер элемента ряда Фибоначчи: 11
Значение этого элемента: 55

 

Для комментирования необходимо авторизоваться