 GFG App
Open App Browser
Continue

# Print Fibonacci Series in reverse order using Recursion

Given an integer N, the task is to print the first N terms of the Fibonacci series in reverse order using Recursion.

Examples:

Input: N = 5
Output: 3 2 1 1 0
Explanation: First five terms are – 0 1 1 2 3.

Input: N = 10
Output: 34 21 13 8 5 3 2 1 1 0

Approach: The idea is to use recursion in a way that keeps calling the same function again till N is greater than 0 and keeps on adding the terms and after that starts printing the terms.

Follow the steps below to solve the problem:

• Define a function fibo(int N, int a, int b) where
• N is the number of terms and
• a and b are the initial terms with values 0 and 1.
• If N is greater than 0, then call the function again with values N-1, b, a+b.
• After the function call, print a as the answer.

Below is the implementation of the above approach.

## C++

 `// C++ program for the above approach` `#include ` `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

 ``

Output

`34 21 13 8 5 3 2 1 1 0 `

Time Complexity: O(N)
Auxiliary Space: O(N)

My Personal Notes arrow_drop_up