Предмет: Информатика,
автор: lds70083Lomov
Даю 30 баллов.
Задача Python
Номер числа Фибоначчи
Последовательность Фибоначчи определяется так:
ϕ0=0,ϕ1=1,ϕn=ϕn−1+ϕn−2
Дано натуральное число A. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что ϕn=A. Если A не является числом Фибоначчи, выведите число −1.
Входные данные:
Вводится натуральное число A (2≤A≤2∗109).
Выходные данные:
Выведите ответ на задачу.
Ответы
Автор ответа:
2
Примечание:
Использовался ЯП Python3. Версия: 3.7.3
Функция fib(n) выдает число Фибоначчи меньшее или равное n и его порядковый номер.
Остальная часть программы вызывает функцию fib(A), находя тем самым число Фибоначчи меньшее или равное A. В случае если оно меньшее A, выводим -1, так как значит, что A - не принадлежит последовательности. Если же это число равно A, выводим номер.
Исходный код:
def fib(n):
a, b = 1, 0
i = 0
while a <= n:
a, b = a+b, a
i += 1
return b, i
A = int(input())
_a, i = fib(A)
if _a != A:
print(-1)
else:
print(i)
Приложения:
Похожие вопросы
Предмет: Русский язык,
автор: suhov8734
Предмет: Қазақ тiлi,
автор: alivip24
Предмет: Русский язык,
автор: Просто561
Предмет: Английский язык,
автор: азаззазазаазз
Предмет: Английский язык,
автор: ANgeLOL1112