ЯЗЫК : С++
Номер числа Фибоначчи
Последовательность Фибоначчи определяется так:
ϕ0=0,ϕ1=1,ϕn=ϕn−1+ϕn−2
Дано натуральное число A. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что ϕn=A. Если A не является числом Фибоначчи, выведите число −1.
Входные данные
Вводится натуральное число A (2≤A≤2∗109).
Выходные данные
Выведите ответ на задачу.
Примеры
Ответы на вопрос
Ответил vimmortal2
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;
}
Ответил lozromanik
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;
}
Новые вопросы
Русский язык,
2 года назад
Английский язык,
2 года назад
Биология,
6 лет назад
Другие предметы,
6 лет назад
Химия,
8 лет назад
Математика,
8 лет назад