Вопрос задан 24.06.2023 в 21:55. Предмет Информатика. Спрашивает Иванченко Гриша.

30 баллов, пожалуйста решите в питоне задачку Номер числа ФибоначчиПоследовательность Фибоначчи

определяется так:ϕ0=0,ϕ1=1,ϕn=ϕn−1+ϕn−2Дано натуральное число A. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что ϕn=A. Если A не является числом Фибоначчи, выведите число −1.Входные данныеВводится натуральное число A (2≤A≤2∗109).Выходные данныеВыведите ответ на задачу с использованием цикла while, а не for!!!!ПримерыВвод Вывод8_______106_______-1
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Лещук Денис.

Программа:

Python:

A = int(input())

if A == 0:

   print(0)

else:

   f0, f1 = 0, 1

   tmp = 1

   while f1 <= A:

       if f1 == A:

           print(tmp)

           break

       f0, f1 = f1, f0 + f1

       tmp += 1

   else:

       print(-1)

Объяснение:
В начале вводится натуральное число А. Сразу идёт проверка: если число равно нулю, то выводится ноль. Иначе начинается основной код: переменной f0 присваивается 0, переменной f1 единица, переменной index также единица. Теперь с помощью цикла while выполняем тело цикла  до тех пор, пока f1 ≤ A. Идёт проверка на то, равняется ли f1 переменной А. Если да, то выводится значение переменной index и цикл останавливается. Всегда значению f0 присваивается значение f1, переменной f1 - сумма f0 и f1. Увеличивается значение переменной index на 1: в этой переменной как раз таки и хранится номер по счёту в последовательности Фибоначчи.

Результат:

8

6

10

-1

233

13

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи вам нужно использовать цикл while, чтобы находить числа Фибоначчи до тех пор, пока текущее число Фибоначчи меньше или равно заданному числу A. Вот Python-код для этой задачи:

python
A = int(input()) # Ввод числа A fib1, fib2, n = 0, 1, 1 # Инициализация первых двух чисел Фибоначчи и номера n while fib1 < A: fib1, fib2 = fib2, fib1 + fib2 # Обновляем значения чисел Фибоначчи n += 1 # Увеличиваем номер n if fib1 == A: print(n) # Если число A является числом Фибоначчи, выводим номер n else: print(-1) # В противном случае выводим -1

Этот код сначала считывает входное число A, затем использует цикл while, чтобы вычислить числа Фибоначчи и увеличивать номер n до тех пор, пока текущее число Фибоначчи меньше A. Если число A равно текущему числу Фибоначчи, программа выводит номер n. В противном случае программа выводит -1.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос