Given a fibonacci number N, the task is to find the next fibonacci number.
Examples:
Input: N = 5
Output: 8
8 is the next fibonacci number after 5
Input: N = 3
Output: 5
Approach: The ratio of two adjacent numbers in the Fibonacci series rapidly approaches ((1 + sqrt(5)) / 2). So if N is multiplied by ((1 + sqrt(5)) / 2) and round it, the resultant number will be the next fibonacci number.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach#include<bits/stdc++.h>using namespace std;// Function to return the next// fibonacci numberint nextFibonacci(int n){ double a = n * (1 + sqrt(5)) / 2.0; return round(a);}// Driver codeint main(){ int n = 5; cout << nextFibonacci(n);}// This code is contributed by mohit kumar 29 |
Java
// Java implementation of the approach class GFG{ // Function to return the next // fibonacci number static long nextFibonacci(int n) { double a = n * (1 + Math.sqrt(5)) / 2.0; return Math.round(a); } // Driver code public static void main (String[] args) { int n = 5; System.out.println(nextFibonacci(n)); }}// This code is contributed by AnkitRai01 |
Python3
# Python3 implementation of the approachfrom math import *# Function to return the next # fibonacci numberdef nextFibonacci(n): a = n*(1 + sqrt(5))/2.0 return round(a)# Driver coden = 5print(nextFibonacci(n)) |
C#
// C# implementation of the approachusing System;class GFG { // Function to return the next // fibonacci number static long nextFibonacci(int n) { double a = n * (1 + Math.Sqrt(5)) / 2.0; return (long)Math.Round(a); } // Driver code public static void Main(String[] args) { int n = 5; Console.WriteLine(nextFibonacci(n)); }}// This code is contributed by 29AjayKumar |
Javascript
<script>// Javascript implementation of the approach // Function to return the next // fibonacci number function nextFibonacci(n) { let a = n * (1 + Math.sqrt(5)) / 2.0; return Math.round(a); } // Driver code let n = 5; document.write(nextFibonacci(n)); // This code is contributed by Mayank Tyagi</script> |
8
Time Complexity: O(1)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!
