Решите задачу python
Последовательность Фибоначчи определяется так:
φ0=0,φ1=1,φn=φn−1+φn−2
Дано натуральное число A
. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n
, что φn=A
. Если A
не является числом Фибоначчи, выведите число −1
.
Входные данные
Вводится натуральное число A
(2⩽A⩽2⋅109
).
Выходные данные
Выведите ответ на задачу.
По дате
По рейтингу
Код:
12345678910111213141516171819202122232425
def find_fibonacci_index(A):
if A == 0:
return 0
elif A == 1:
return 1
a, b = 0, 1
index = 1
while b < A:
a, b = b, a + b
index += 1
if b == A:
return index
else:
return -1
# Ввод данных
A = int(input())
# Вычисление и вывод результата
result = find_fibonacci_index(A)
print(result)
def fibonacci_index(A):
φ0, φ1 = 0, 1
n = 1
while φ1 <= A:
if φ1 == A:
return n
φ0, φ1 = φ1, φ0 + φ1
n += 1
return -1
# Пример ввода:
A = int(input())
print(fibonacci_index(A))
2
Больше по теме