Open In App

Print N to 1 without loop

Last Updated : 09 May, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

You are given an integer N. Print numbers from N to 1 without the help of loops.

Examples:

Input: N = 5
Output: 5 4 3 2 1
Explanation: We have to print numbers from 5 to 1.

Input: N = 10
Output: 10 9 8 7 6 5 4 3 2 1
Explanation: We have to print numbers from 10 to 1.

Approach: If we take a look at this problem carefully, we can see that the idea of “loop” is to track some counter value, e.g., “i = 0” till “i <= 100”. So, if we aren’t allowed to use loops, how can we track something?

Well, one possibility is the use of ‘recursion‘, provided we use the terminating condition carefully. Here is a solution that prints numbers using recursion. 
 

C++

// C++ program to How will you print
//  numbers from N to 1 without using a loop?
#include <iostream>
using namespace std;

class gfg {

    // It prints numbers from N to 1
public:
    void printNos(unsigned int n)
    {
        if (n > 0) {
            cout << n << " ";
            printNos(n - 1);
        }
        return;
    }
};

// Driver code
int main()
{
    int n = 10;
    gfg g;
    g.printNos(n);
    return 0;
}

C

#include <stdio.h>

// Prints numbers from N to 1
void printNos(unsigned int n)
{
    if (n > 0) {
        printf("%d ", n);
        printNos(n - 1);
    }
    return;
}

// Driver code
int main()
{
    int n = 10;
    printNos(n);
    getchar();
    return 0;
}

Java

import java.io.*;
import java.math.*;
import java.text.*;
import java.util.*;
import java.util.regex.*;

class GFG {
    // Prints numbers from N to 1
    static void printNos(int n)
    {
        if (n > 0) {
            System.out.print(n + " ");
            printNos(n - 1);
        }
        return;
    }

    // Driver Code
    public static void main(String[] args)
    {
        int n = 10;
        printNos(n);
    }
}

Python3

# Python3 program to Print
# numbers from N to 1


def printNos(n):
    if n > 0:
        print(n, end=' ')
        printNos(n - 1)


# Driver code
n = 10
printNos(n)

C#

// C# code for print numbers from
// N to 1 without using loop
using System;

class GFG {

    // Prints numbers from N to 1
    static void printNos(int n)
    {
        if (n > 0) {
            Console.Write(n + " ");
            printNos(n - 1);
        }
        return;
    }

    // Driver Code
    public static void Main()
    {
        int n = 10;
        printNos(n);
    }
}

PHP

<?php
// PHP program print numbers 
// from N to 1 without 
// using loop    

// Prints numbers from N to 1
function printNos($n)
{
    if($n > 0)
    {
        echo $n, " ";
        printNos($n - 1);
    }
    return;
}

// Driver code
$n=10;
printNos($n);
?>

Javascript

// Javascript code for print numbers from 
    // N to 1 without using loop
    
    // Prints numbers from N to 1
    function printNos(n)
    {
        if(n > 0)
        {
            console.log(n + " ");
            printNos(n - 1);
        }
        return;
    }
    
    var n = 10;
    printNos(n);
Output

10 9 8 7 6 5 4 3 2 1 

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


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads