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

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

21.10.2021
30
0
BIT
0

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

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

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

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



Пример 1:

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

Число: 8



Пример 2:

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

Число: 55
 

explorer

Platinum
05.08.2018
1 080
2 475
BIT
0
Python:
fibo1 = fibo2 = 1

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

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

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

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

explorer

Platinum
05.08.2018
1 080
2 475
BIT
0
Я совершенно правильно написал, а про рекурсию в вашем вопросе ничего не написано. Хотите максимально точный ответ, пишите максимально точное описание проблемы. Вот рекурсия.

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


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

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


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

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