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

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

Показать ответ
Ответ:
miloy34
miloy34
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота