Dado un número de Fibonacci N , la tarea es encontrar el siguiente número de Fibonacci.
Ejemplos:
Entrada: N = 5
Salida: 8
8 es el siguiente número de Fibonacci después de 5
Entrada: N = 3
Salida: 5
Aproximación: La razón de dos números adyacentes en la serie de Fibonacci se aproxima rápidamente ((1 + sqrt(5)) / 2) . Entonces, si N se multiplica por ((1 + sqrt(5)) / 2) y se redondea, el número resultante será el siguiente número de Fibonacci.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the approach #include<bits/stdc++.h> using namespace std; // Function to return the next // fibonacci number int nextFibonacci(int n) { double a = n * (1 + sqrt(5)) / 2.0; return round(a); } // Driver code int 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 approach from math import * # Function to return the next # fibonacci number def nextFibonacci(n): a = n*(1 + sqrt(5))/2.0 return round(a) # Driver code n = 5 print(nextFibonacci(n))
C#
// C# implementation of the approach using 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>
Producción:
8
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)