Given an integer, N you have to determine if N is an element of the Fibonacci Sequence.
The Fibonacci sequence looks like 0,1,1,2,3,5,8,13....
A Fibonacci sequence is one where every element is a sum of the previous two elements in the sequence & The first two elements are 0 and 1.
Method 1:
Input Format
The first line - T, number of test cases.
T lines follows - an integer N.
Output Format
Display IsFibo if N is a fibonacci number and IsNotFibo if it is not a fibonacci number.
Sample Input
3
5
7
8
Sample Output
IsFibo
IsNotFibo
IsFibo
The Fibonacci sequence looks like 0,1,1,2,3,5,8,13....
A Fibonacci sequence is one where every element is a sum of the previous two elements in the sequence & The first two elements are 0 and 1.
Method 1:
fib0 = 0Implementation:
fib1 = 1
fibn = fibn-1 + fibn-2 ∀ n > 1
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int perfect(long long int N)
{
long long int sq;
sq=sqrt(N);
return (sq*sq == N);
}
int check(long long int Fi)
{
return perfect(5*Fi*Fi+4) || perfect(5*Fi*Fi-4);
}
int main()
{
int T,status;
long long int Fi;
scanf("%d",&T);
while(T>0)
{
scanf("%lld",&Fi);
status=check(Fi);
if(status==1)
printf("IsFibo\n");
else
printf("IsNotFibo\n");
T--;
}
return 0;
}
Input Format
The first line - T, number of test cases.
T lines follows - an integer N.
Output Format
Display IsFibo if N is a fibonacci number and IsNotFibo if it is not a fibonacci number.
Sample Input
3
5
7
8
Sample Output
IsFibo
IsNotFibo
IsFibo