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

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

Показать ответ
Ответ:
Kiper222
Kiper222
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-бота