We have been given an array and our task is to check if the element of array is present in Fibonacci series or not. If yes, then print that element.
Examples:
Input : 4, 2, 8, 5, 20, 1, 40, 13, 23
Output : 2 8 5 1 13
Here, Fibonacci series will be 0, 1, 1, 2,
3, 5, 8, 13, 21, 34, 55. Numbers that are present
in array are 2, 8, 5, 1, 13
For 2 -> 5 * 2 * 2 - 4 = 16
16 is a perfect square of 4
Input : 4, 7, 6, 25
Output : No Fibonacci number in this array
A number is said to be in Fibonacci series if either (5 * n * n – 4) or (5 * n * n + 4) is a perfect square. Please refer check if a given number is Fibonacci number for details.
Implementation:
C++
// CPP program to find Fibonacci series numbers // in a given array. #include <bits/stdc++.h> using namespace std;
// Function to check number is a // perfect square or not bool isPerfectSquare( int num)
{ int n = sqrt (num);
return (n * n == num);
} // Function to check if the number // is in Fibonacci or not void checkFib( int array[], int n)
{ int count = 0;
for ( int i = 0; i < n; i++) {
if (isPerfectSquare(5 * array[i] * array[i] + 4) || isPerfectSquare(5 * array[i] * array[i] - 4)) {
cout << array[i] << " " ;
count++;
}
}
if (count == 0)
cout << "None present" << endl;
} // Driver function int main()
{ int array[] = { 4, 2, 8, 5, 20, 1, 40, 13, 23 };
int n = sizeof (array) / sizeof (array[0]);
checkFib(array, n);
return 0;
} |
Java
// Java program to find Fibonacci series numbers // in a given array import java.io.*;
import java.math.*;
class GFG {
// Function to check number is a
// perfect square or not
static boolean isPerfectSquare( int num)
{
int n = ( int )(Math.sqrt(num));
return (n * n == num);
}
// Function to check if the number
// is in Fibonacci or not
static void checkFib( int array[], int n)
{
int count = 0 ;
for ( int i = 0 ; i < n; i++) {
if (isPerfectSquare( 5 * array[i] * array[i] + 4 ) || isPerfectSquare( 5 * array[i] * array[i] - 4 )) {
System.out.print(array[i] + " " );
count++;
}
}
if (count == 0 )
System.out.println( "None Present" );
}
// driver program
public static void main(String[] args)
{
int array[] = { 4 , 2 , 8 , 5 , 20 , 1 , 40 , 13 , 23 };
int n = array.length;
checkFib(array, n);
}
} // Contributed by Pramod Kumar |
Python3
# Python program to find # Fibonacci series numbers # in a given array. import math
def isPerfectSquare(num):
n = int (math.sqrt(num))
return (n * n = = num)
# Function to check if the number # is in Fibonacci or not def checkFib(array, n):
count = 0
for i in range (n):
if (isPerfectSquare( 5 * array[i] * array[i] + 4 ) or
isPerfectSquare( 5 * array[i] * array[i] - 4 )):
print (array[i], " " , end = "");
count = count + 1
if (count = = 0 ):
print ( "None present" );
# driver code array = [ 4 , 2 , 8 , 5 , 20 , 1 , 40 , 13 , 23 ]
n = len (array)
checkFib(array, n) # This code is contributed # by Anant Agarwal. |
C#
// C# program to find Fibonacci series // numbers in a given array using System;
class GFG {
// Function to check number is a
// perfect square or not
static bool isPerfectSquare( int num)
{
int n = ( int )(Math.Sqrt(num));
return (n * n == num);
}
// Function to check if the number
// is in Fibonacci or not
static void checkFib( int [] array, int n)
{
int count = 0;
for ( int i = 0; i < n; i++) {
if (isPerfectSquare(5 * array[i] * array[i] + 4) ||
isPerfectSquare(5 * array[i] * array[i] - 4))
{
Console.Write(array[i] + " " );
count++;
}
}
if (count == 0)
Console.WriteLine( "None Present" );
}
// driver program
public static void Main()
{
int [] array = { 4, 2, 8, 5, 20, 1, 40, 13, 23 };
int n = array.Length;
checkFib(array, n);
}
} // This code is contributed by Sam007 |
Javascript
<script> // Javascript program to find // Fibonacci series numbers // in a given array. // Function to check // number is a perfect // square or not function isPerfectSquare(num)
{ let n = parseInt(Math.sqrt(num));
return (n * n == num);
} // Function to check // if the number is // in Fibonacci or not function checkFib(array, n)
{ let count = 0;
for (let i = 0; i < n; i++)
{
if (isPerfectSquare(5 * array[i] *
array[i] + 4) ||
isPerfectSquare(5 * array[i] *
array[i] - 4))
{
document.write(array[i] + " " );
count++;
}
}
if (count == 0)
document.write( "None present + <br>" );
} // Driver Code let array = [4, 2, 8, 5, 20, 1, 40, 13, 23];
let n = array.length; checkFib(array, n); // This code is contributed by _saurabh_jaiswal </script> |
PHP
<?php // PHP program to find // Fibonacci series numbers // in a given array. // Function to check // number is a perfect // square or not function isPerfectSquare( $num )
{ $n = (int)(sqrt( $num ));
return ( $n * $n == $num );
} // Function to check // if the number is // in Fibonacci or not function checkFib( $array , $n )
{ $count = 0;
for ( $i = 0; $i < $n ; $i ++)
{
if (isPerfectSquare(5 * $array [ $i ] *
$array [ $i ] + 4) ||
isPerfectSquare(5 * $array [ $i ] *
$array [ $i ] - 4))
{
echo $array [ $i ]. " " ;
$count ++;
}
}
if ( $count == 0)
echo "None present\n" ;
} // Driver Code $array = array (4, 2, 8, 5, 20,
1, 40, 13, 23);
$n = sizeof( $array );
checkFib( $array , $n );
// This code is contributed by mits. ?> |
Output
2 8 5 1 13