Даю 30 баллов.
Задача Python
Номер числа Фибоначчи
Последовательность Фибоначчи определяется так:
ϕ0=0,ϕ1=1,ϕn=ϕn−1+ϕn−2
Дано натуральное число A. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что ϕn=A. Если A не является числом Фибоначчи, выведите число −1.
Входные данные:
Вводится натуральное число A (2≤A≤2∗109).
Выходные данные:
Выведите ответ на задачу.
Ответы на вопрос
Ответил bezrukoff888
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)
Приложения:
Новые вопросы
Окружающий мир,
1 год назад
Русский язык,
1 год назад
Английский язык,
2 года назад
Математика,
2 года назад
Химия,
8 лет назад