Помогите решить задачу python. Задача 3. Ряд Фибоначчи

21.10.2021
30
0

Задача 3. Ряд Фибоначчи​

Что нужно сделать

Числа Фибоначчи — это ряд чисел, в котором каждое следующее число равно сумме двух предыдущих: 1, 1, 2, 3, 5, 8, 13…

Пользователь вводит num_pos. Напишите функцию, которая выводит число, стоящее на позиции num_pos в ряде Фибоначчи.



Пример 1:

Введите позицию числа в ряде Фибоначчи: 6

Число: 8



Пример 2:

Введите позицию числа в ряде Фибоначчи: 10

Число: 55
 
Python:
fibo1 = fibo2 = 1

num_pos = int(input("Введите число: "))
for i in range(2, num_pos):
    fibo1, fibo2 = fibo2, fibo1 + fibo2
print("Число " + str(fibo2))

Не рекомендую искать решения таким образом, потому что ничему не научитесь. Если встряли, то по крайней мере прилагайте свой нерабочий код, который можно поправить.
 
Python:
fibo1 = fibo2 = 1

num_pos = int(input("Введите число: "))
for i in range(2, num_pos):
    fibo1, fibo2 = fibo2, fibo1 + fibo2
print("Число " + str(fibo2))

Не рекомендую искать решения таким образом, потому что ничему не научитесь. Если встряли, то по крайней мере прилагайте свой нерабочий код, который можно поправить.
хорошо понял. но вы не правильно сделали. надо было сделать вариант с рекурсией
 
Я совершенно правильно написал, а про рекурсию в вашем вопросе ничего не написано. Хотите максимально точный ответ, пишите максимально точное описание проблемы. Вот рекурсия.

Python:
def fibo(n):
    if n in (1, 2):
        return 1
    return fibo(n - 1) + fibo(n - 2)


print(fibo(int(input("Введите число: "))))
 
Я совершенно правильно написал, а про рекурсию в вашем вопросе ничего не написано. Хотите максимально точный ответ, пишите максимально точное описание проблемы. Вот рекурсия.

Python:
def fibo(n):
    if n in (1, 2):
        return 1
    return fibo(n - 1) + fibo(n - 2)


print(fibo(int(input("Введите число: "))))
хорошо спасибо за ответ.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab