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

seksi2505 seksi2505    2   24.02.2021 22:56    14

Ответы
Kotliarrostislav Kotliarrostislav  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;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика