Imprima la serie de Fibonacci en orden inverso usando Recursion

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>
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *