Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Print Fibonacci Series in reverse order

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Given a number n then print n terms of fibonacci series in reverse order.

Examples: 

Input : n = 5
Output : 3 2 1 1 0

Input : n = 8
Output : 13 8 5 3 2 1 1 0

Algorithm  

1) Declare an array of size n. 
2) Initialize a[0] and a[1] to 0 and 1 respectively. 
3) Run a loop from 2 to n-1 and store 
sum of a[i-2] and a[i-1] in a[i]
4) Print the array in the reverse order.

C++




// CPP Program to print Fibonacci
// series in reverse order
#include <bits/stdc++.h>
using namespace std;
 
void reverseFibonacci(int n)
{
    int a[n];
 
    // assigning first and second elements
    a[0] = 0;
    a[1] = 1;
 
    for (int i = 2; i < n; i++) {
 
        // storing sum in the
        // preceding location
        a[i] = a[i - 2] + a[i - 1];
    }
 
    for (int i = n - 1; i >= 0; i--) {
 
        // printing array in
        // reverse order
        cout << a[i] << " ";
    }
}
 
// Driver function
int main()
{
    int n = 5;
    reverseFibonacci(n);
    return 0;
}

Java




// Java Program to print Fibonacci
// series in reverse order
import java.io.*;
 
class GFG {
     
    static void reverseFibonacci(int n)
    {
        int a[] = new int[n];
     
        // assigning first and second elements
        a[0] = 0;
        a[1] = 1;
     
        for (int i = 2; i < n; i++)
        {
     
            // storing sum in the
            // preceding location
            a[i] = a[i - 2] + a[i - 1];
        }
     
        for (int i = n - 1; i >= 0; i--)
        {
     
            // printing array in
            // reverse order
            System.out.print(a[i] +" ");
        }
    }
     
    // Driver function
    public static void main(String[] args)
    {
        int n = 5;
        reverseFibonacci(n);
     
    }
}
 
// This code is contributed by vt_m.

Python3




# Python 3 Program to print Fibonacci
# series in reverse order
 
def reverseFibonacci(n):
  
    a = [0] * n
 
    # assigning first and second elements
    a[0] = 0
    a[1] = 1
 
    for i in range(2, n): 
 
        # storing sum in the
        # preceding location
        a[i] = a[i - 2] + a[i - 1]
      
 
    for i in range(n - 1, -1 , -1): 
 
        # printing array in
        # reverse order
        print(a[i],end=" ")
      
  
 
# Driver function
n = 5
reverseFibonacci(n)

C#




// C# Program to print Fibonacci
// series in reverse order
using System;
 
class GFG {
     
    static void reverseFibonacci(int n)
    {
        int []a = new int[n];
     
        // assigning first and second elements
        a[0] = 0;
        a[1] = 1;
     
        for (int i = 2; i < n; i++)
        {
     
            // storing sum in the
            // preceding location
            a[i] = a[i - 2] + a[i - 1];
        }
     
        for (int i = n - 1; i >= 0; i--)
        {
     
            // printing array in
            // reverse order
            Console.Write(a[i] +" ");
        }
    }
     
    // Driver function
    public static void Main()
    {
        int n = 5;
        reverseFibonacci(n);
     
    }
}
 
// This code is contributed by vt_m.

PHP




<?php
// PHP Program to print Fibonacci
// series in reverse order
 
function reverseFibonacci($n)
{
 
    // assigning first and
    // second elements
    $a[0] = 0;
    $a[1] = 1;
 
    for ($i = 2; $i < $n; $i++)
    {
 
        // storing sum in the
        // preceding location
        $a[$i] = $a[$i - 2] +
                 $a[$i - 1];
    }
 
    for ($i = $n - 1; $i >= 0; $i--)
    {
 
        // printing array in
        // reverse order
        echo($a[$i] . " ");
    }
}
 
// Driver COde
$n = 5;
reverseFibonacci($n);
 
// This code is contributed by Ajit.
?>

Javascript




<script>
 
// JavaScript program to print Fibonacci
// series in reverse order
function reverseFibonacci(n)
{
    let a = [];
     
    // Assigning first and second elements
    a[0] = 0;
    a[1] = 1;
   
    for(let i = 2; i < n; i++)
    {
         
        // Storing sum in the
        // preceding location
        a[i] = a[i - 2] + a[i - 1];
    }
   
    for(let i = n - 1; i >= 0; i--)
    {
         
        // Printing array in
        // reverse order
        document.write(a[i] + " ");
    }
}
 
// Driver Code
let n = 5;
 
reverseFibonacci(n);
 
// This code is contributed by avijitmondal1998
 
</script>

Output: 

3 2 1 1 0

Time Complexity: O(n)

Auxiliary Space: O(n)


My Personal Notes arrow_drop_up
Last Updated : 26 Nov, 2021
Like Article
Save Article
Similar Reads
Related Tutorials