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 <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 Codeint main(){ int N = 10; fibo(N, 0, 1); return 0;} |
Java
// Java program for the above approachimport 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 Codepublic 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 Codeif __name__ == "__main__": N = 10 fibo(N, 0, 1) # This code is contributed by Samim Hossain Mondal. |
C#
// C# program for the above approachusing 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 Codepublic 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 Codelet N = 10;fibo(N, 0, 1);// This code is contributed by Samim Hossain Mondal.</script> |
Output
34 21 13 8 5 3 2 1 1 0
Time Complexity: O(N)
Auxiliary Space: O(N)
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



