Решение задачи №271 «Числа Фибоначчи - 2» с ACMP





Решение задачи №271 «Числа Фибоначчи - 2» с ACMP

Условие задачи

Числа Фибоначчи строятся следующим образом: 1, 1, 2, 3, 5, …. В этой последовательности, начиная с третьего числа, каждый следующий член равен сумме двух предыдущих. Получаем, что, например, шестое число равно 8, а десятое - 55.

Требуется написать программу, которая определяет, является ли заданное число числом Фибоначчи.

Входные данные
Входной текстовый файл INPUT.TXT содержит одно натуральное число в диапазоне от 2 до 1200000000.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать в первой строке 1, если заданное число является числом Фибоначчи, и 0, иначе. В первом случае во вторую строку требуется вывести его порядковый номер.

#include <iostream>
using namespace std;
main()
{
int n,a=0,b=1,c=0,i=0;
cin>>n;
while (c<n)
{
a=b;
b=c;
c=a+b;
i++;
}
if(c==n)cout<<1<<endl<<i;
else cout<<0;
}



Условия задач взяты с сайта acmp.ru