Предмет: Информатика, автор: masha160320

Номер числа Фибоначчи
Последовательность Фибоначчи определяется так
= 0, ф= 1, = ф-1+ф-12
Дано натуральное число А. Определите, каким по счету числом фибоначчи оно является,
то есть выведите такое число , что A. Если А не является числом Фибоначчи.
Введите число -1 1
Входные данные:
Вводите натуральное число А, не превышающее 2*10**9(в девятой степени).
Выходные данные
Выведите ответ на задачу,
Примеры
Ввод:6
Вывод:8
Ввод:10
Вывод:-1
Решите пожалуйста на питоне) задача по теме «цикл while” так что сложного не пишите дам 65 баллов)

Ответы

Автор ответа: MaxLevs
1

Классическая последовательность Фибоначчи выглядет как 1, 1, 2, 3, 5, 8,  13, 21, 34, 55,...

Ввод: 8 должен давать Вывод: 6.

Код:

def check_fib(a: int) -> int:

   if a == 1:

       return 1

   count = 2

   f1, f2, f3 = 0, 1, 1

   while f3 < a:

       f1 = f2

       f2 = f3

       f3 = f1 + f3

       count += 1

   if f3 != a:

       return -1

   return count

print(check_fib(6))

print(check_fib(8))

print(check_fib(10))

Приложения:
Похожие вопросы
Предмет: Русский язык, автор: Д1а3ш5а7
Предмет: Русский язык, автор: skopka
Предмет: Математика, автор: Аноним