В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык

Дано натуральное число AA. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число nn, что ϕn=Aϕn=A. Если AA не является числом Фибоначчи, выведите число −1−1. Надо сделать на С++

Ответ:
Snowghost
Snowghost
24.02.2021 23:00

лови, код, работяга :

#include <iostream>

using namespace std;

int fibo(int n) {

   if (n == 1 || n == 2)

       return 1;

   return fibo(n - 1) + fibo(n - 2);

}

signed main(){

   int k, l = 1, r = 40;

   cin >> k;

   while(l <= r){

       int m = (l + r)/2;

       if(fibo(m) == k){

           cout << m;

           return 0;

       }

       else if(fibo(m) < k)

           l = m + 1;

       else

           r = m - 1;

   }

   cout << -1;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?