Предмет: Информатика,
автор: gavrishjulia
Последовательность Фибоначчи определяется так:
ϕ0=0,ϕ1=1,ϕn=ϕn−1+ϕn−2
Дано натуральное число A. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что ϕn=A. Если A не является числом Фибоначчи, выведите число −1.
На python, пожалуйста :)
Ответы
Автор ответа:
1
phi_list = [0, 1]
bruteforce_limit = 0
A = int(input())
if A < 0: print(-1)
if A == 1: print(1, 2)
if A == 0: print(0)
list_pass = 0
i = 0
while A not in phi_list and A > 0:
bruteforce_limit += 100
while i <= bruteforce_limit:
phi_list.append((phi_list[i] + phi_list[i+1]))
if A > phi_list[i] and A < phi_list[i + 1]:
print(-1)
exit()
i += 1
if A in phi_list:
print(phi_list.index(A))
list_pass = 1
break
Похожие вопросы
Предмет: Английский язык,
автор: Евик1234
Предмет: Русский язык,
автор: vika280805
Предмет: Английский язык,
автор: ILive
Предмет: Математика,
автор: tvoySladkiy
Предмет: Алгебра,
автор: маша22812