Задача «Номер числа Фибоначчи»

Условие

Дано натуральное число A. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что φn = A. Если А не является числом Фибоначчи, выведите число -1.

Решение

  1. a = int(input())
  2. if a == 0:
  3.     print(0)
  4. else:
  5.     fib_prev, fib_next = 0, 1
  6.     n = 1
  7.     while fib_next <= a:
  8.         if fib_next == a:
  9.             print(n)
  10.             break
  11.         fib_prev, fib_next = fib_next, fib_prev + fib_next
  12.         n += 1
  13.     else:
  14.         print(-1)