Предмет: Информатика,
автор: gloomder
ЯЗЫК : С++
Номер числа Фибоначчи
Последовательность Фибоначчи определяется так:
ϕ0=0,ϕ1=1,ϕn=ϕn−1+ϕn−2
Дано натуральное число A. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что ϕn=A. Если A не является числом Фибоначчи, выведите число −1.
Входные данные
Вводится натуральное число A (2≤A≤2∗109).
Выходные данные
Выведите ответ на задачу.
Примеры
Ответы
Автор ответа:
1
Программа:
C++:
#include <iostream>
using namespace std;
int main()
{
int A;
cout << "A = "; cin >> A;
int fib1 = 0, fib2 = 1, fibS = 1, n = 0, result = -1;
while (fib1 <= A) {
fibS = fib1 + fib2;
fib1 = fib2;
fib2 = fibS;
n += 1;
if (fib1 == A) result = n;
else if (A == 0) result = 0;
}
cout << result + 1;
}
Автор ответа:
0
Відповідь:
#include<iostream>
#include<cmath>
int main(){
int a1=0,a2=1,A,count=2;
std::cin>>A;
for(;;){
a2+=a1;
if(A==a2){
std::cout<<count;
break;
}
else if(a2<A){
count++;
std::swap(a1,a2);
continue;
}
else{
std::cout<<-1;
break;
}
}
return 0;
}
Похожие вопросы
Предмет: Русский язык,
автор: 19662
Предмет: Русский язык,
автор: 313Дина313
Предмет: Английский язык,
автор: нэлли1987
Предмет: Физика,
автор: katakucevic
Предмет: География,
автор: MasterVsemogushiy