Вопрос задан 25.06.2023 в 07:53. Предмет Информатика. Спрашивает Лютоев Алексей.

На с++ пж Последовательность Фибоначчи определяется так: ϕ0=0,ϕ1=1,ϕn=ϕn−1+ϕn−2 Дано натуральное

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

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

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

Ответ:

//g++ -Wall -o 1 1.cpp

//./1

#include <iostream>

#include <algorithm>

#include <vector>

using namespace std;

int main() {

   int n;

   cin>>n;

   if (n == 0){

       cout<<0;

       return 0;

   }

   else{

       int a1 = 0 , a2 = 1;

       int c = 1;

       while(a2<=n){

           if (a2==n){

               cout<<c;

               return 0;

           }

           a1 = a2;

           a2 = a1+a2;

           c++;

       }

       cout<<-1;

       return 0;

   }

}

Объяснение:

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

Для нахождения числа n, при котором ϕn = A, вы можете использовать следующий алгоритм на C++:

cpp
#include <iostream> int main() { long long A; std::cin >> A; long long fib1 = 0, fib2 = 1, fib = 1, n = 1; while (fib < A) { fib = fib1 + fib2; fib1 = fib2; fib2 = fib; n++; } if (fib == A) { std::cout << n << std::endl; } else { std::cout << "-1" << std::endl; } return 0; }

Этот код сначала считывает натуральное число A. Затем он начинает вычислять числа Фибоначчи до тех пор, пока текущее число Фибоначчи (fib) меньше заданного числа A. Каждый раз обновляются значения fib1 и fib2, и увеличивается счетчик n. Когда fib становится равным A, программа выводит значение n. Если не удается найти число Фибоначчи, равное A, программа выводит -1.

0 0

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

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

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

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