# Find the previous fibonacci number

• Last Updated : 01 Apr, 2021

Given a Fibonacci number N, the task is to find the previous Fibonacci number.
Examples:

Input: N = 8
Output:
5 is the previous fibonacci number before 8.
Input: N = 5
Output:

Approach: The ratio of two adjacent numbers in the Fibonacci series rapidly approaches ((1 + sqrt(5)) / 2). So if N is divided by ((1 + sqrt(5)) / 2) and then rounded, the resultant number will be the previous Fibonacci number.
Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach``#include ` `using` `namespace` `std;` `// Function to return the previous``// fibonacci number``int` `previousFibonacci(``int` `n)``{``    ``double` `a = n / ((1 + ``sqrt``(5)) / 2.0);``    ``return` `round(a);``}` `// Driver code``int` `main()``{``    ``int` `n = 8;``    ``cout << (previousFibonacci(n));``}` `// This code is contributed by Mohit Kumar`

## Java

 `// Java implementation of the approach``import` `java.io.*;` `class` `GFG``{``        ` `// Function to return the previous``// fibonacci number``static` `int` `previousFibonacci(``int` `n)``{``    ``double` `a = n / ((``1` `+ Math.sqrt(``5``)) / ``2.0``);``    ``return` `(``int``)Math.round(a);``}` `// Driver code``public` `static` `void` `main (String[] args)``{``    ``int` `n = ``8``;``    ``System.out.println(previousFibonacci(n));``}``}` `// This code is contributed by ajit.`

## Python3

 `# Python3 implementation of the approach``from` `math ``import` `*` `# Function to return the previous``# fibonacci number``def` `previousFibonacci(n):``    ``a ``=` `n``/``((``1` `+` `sqrt(``5``))``/``2.0``)``    ``return` `round``(a)` `# Driver code``n ``=` `8``print``(previousFibonacci(n))`

## C#

 `// C# implementation of the approach``using` `System;` `class` `GFG``{``    ` `// Function to return the previous``// fibonacci number``static` `int` `previousFibonacci(``int` `n)``{``    ``double` `a = n / ((1 + Math.Sqrt(5)) / 2.0);``    ``return` `(``int``)Math.Round(a);``}` `// Driver code``public` `static` `void` `Main()``{``    ``int` `n = 8;``    ``Console.Write(previousFibonacci(n));``}``}` `// This code is contributed by Akanksha_Rai`

## Javascript

 ``
Output:
`5`

My Personal Notes arrow_drop_up