# Fibonacci number in an array

• Difficulty Level : Hard
• Last Updated : 24 Mar, 2021

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 = 36
36 is a perfect square root of 6.

Input : 4, 7, 6, 25
Output : No Fibonacci number in this array```

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

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.

## C++

 `// CPP program to find Fibonacci series numbers``// in a given array.``#include ``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);` `    ``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`

## PHP

 ``

## Javascript

 ``

Output:

`2 8 5 1 13`

This article is contributed by Rishabh Jain. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.