Dado un número entero N, la tarea es imprimir los primeros N términos de la serie de Fibonacci en orden inverso usando Recursión .
Ejemplos:
Entrada: N = 5
Salida: 3 2 1 1 0
Explicación: Los primeros cinco términos son – 0 1 1 2 3.Entrada: N = 10
Salida: 34 21 13 8 5 3 2 1 1 0
Enfoque: La idea es usar la recursividad de una manera que siga llamando a la misma función nuevamente hasta que N sea mayor que 0 y continúe agregando los términos y luego comience a imprimir los términos.
Siga los pasos a continuación para resolver el problema:
- Defina una función fibo(int N, int a, int b) donde
- N es el número de términos y
- a y b son los términos iniciales con valores 0 y 1 .
- Si N es mayor que 0, vuelva a llamar a la función con los valores N-1, b, a+b .
- Después de la llamada a la función, imprima a como respuesta.
A continuación se muestra la implementación del enfoque anterior.
C++
// C++ program for the above approach #include <bits/stdc++.h> using namespace std; // Function to print the fibonacci // series in reverse order. void fibo(int n, int a, int b) { if (n > 0) { // Function call fibo(n - 1, b, a + b); // Print the result cout << a << " "; } } // Driver Code int main() { int N = 10; fibo(N, 0, 1); return 0; }
Java
// Java program for the above approach import java.util.*; public class GFG { // Function to print the fibonacci // series in reverse order. static void fibo(int n, int a, int b) { if (n > 0) { // Function call fibo(n - 1, b, a + b); // Print the result System.out.print(a + " "); } } // Driver Code public static void main(String args[]) { int N = 10; fibo(N, 0, 1); } } // This code is contributed by Samim Hossain Mondal.
Python3
# Python program for the above approach # Function to print the fibonacci # series in reverse order. def fibo(n, a, b): if (n > 0): # Function call fibo(n - 1, b, a + b) # Print the result print(a, end=" ") # Driver Code if __name__ == "__main__": N = 10 fibo(N, 0, 1) # This code is contributed by Samim Hossain Mondal.
C#
// C# program for the above approach using System; class GFG { // Function to print the fibonacci // series in reverse order. static void fibo(int n, int a, int b) { if (n > 0) { // Function call fibo(n - 1, b, a + b); // Print the result Console.Write(a + " "); } } // Driver Code public static void Main() { int N = 10; fibo(N, 0, 1); } } // This code is contributed by Samim Hossain Mondal.
Javascript
<script> // Javascript program for the above approach // Function to print the fibonacci // series in reverse order. function fibo(n, a, b) { if (n > 0) { // Function call fibo(n - 1, b, a + b); // Print the result document.write(a + " "); } } // Driver Code let N = 10; fibo(N, 0, 1); // This code is contributed by Samim Hossain Mondal. </script>
34 21 13 8 5 3 2 1 1 0
Complejidad temporal: O(N)
Espacio auxiliar: O(N)
Publicación traducida automáticamente
Artículo escrito por rohitkumar172 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA