Skip to content
Related Articles

Related Articles

How will you print numbers from 1 to 100 without using loop?
  • Difficulty Level : Basic
  • Last Updated : 19 Apr, 2021

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 loop, how else can be track something in C language! 
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 1 to 100 without using loop?
#include <iostream>
using namespace std;
 
class gfg
{
     
// Prints numbers from 1 to n
public:
void printNos(unsigned int n)
{
    if(n > 0)
    {
        printNos(n - 1);
        cout << n << " ";
    }
    return;
}
};
 
// Driver code
int main()
{
    gfg g;
    g.printNos(100);
    return 0;
}
 
 
// This code is contributed by SoM15242

C




#include <stdio.h>
 
// Prints numbers from 1 to n
void printNos(unsigned int n)
{
    if(n > 0)
    {
        printNos(n - 1);
        printf("%d ", n);
    }
    return;
}
 
// Driver code
int main()
{
    printNos(100);
    getchar();
    return 0;
}

Java




import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
 
class GFG
{
    // Prints numbers from 1 to n
    static void printNos(int n)
    {
        if(n > 0)
        {
            printNos(n - 1);
            System.out.print(n + " ");
        }
        return;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        printNos(100);
    }
}
 
// This code is contributed by Manish_100

Python3




# Python3 program to Print
# numbers from 1 to n
 
def printNos(n):
    if n > 0:
        printNos(n - 1)
        print(n, end = ' ')
 
# Driver code
printNos(100)
 
# This code is contributed by Smitha Dinesh Semwal

C#




// C# code for print numbers from
// 1 to 100 without using loop
using System;
 
class GFG
{
     
    // Prints numbers from 1 to n
    static void printNos(int n)
    {
        if(n > 0)
        {
            printNos(n - 1);
            Console.Write(n + " ");
        }
        return;
    }
 
// Driver Code
public static void Main()
{
        printNos(100);
}
}
 
// This code is contributed by Ajit

PHP




<?php
// PHP program print numbers
// from 1 to 100 without
// using loop   
 
// Prints numbers from 1 to n
function printNos($n)
{
    if($n > 0)
    {
        printNos($n - 1);
        echo $n, " ";
    }
    return;
}
 
// Driver code
printNos(100);
 
// This code is contributed by vt_m
?>

Javascript




<script>
    // Javascript code for print numbers from
    // 1 to 100 without using loop
     
    // Prints numbers from 1 to n
    function printNos(n)
    {
        if(n > 0)
        {
            printNos(n - 1);
            document.write(n + " ");
        }
        return;
    }
     
    printNos(100);
 
// This code is contributed by rameshtravel07.
</script>

Output : 
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
16 17 18 19 20 21 22 23 24 25 26 27 
28 29 30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49 50 51
52 53 54 55 56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95 96 97 98 99 
100 

Time Complexity : O(n)
Now try writing a program that does the same but without any “if” construct. 
Hint — use some operator which can be used instead of “if”. 
Please note that recursion technique is good but every call to the function creates one “stack-frame” in program stack. So if there’s constraint to the limited memory and we need to print large set of numbers, “recursion” might not be a good idea. So what could be the other alternative?
Another alternative is “goto” statement. Though use of “goto” is not suggestible as a general programming practice as “goto” statement changes the normal program execution sequence yet in some cases, use of “goto” is the best working solution. 
So please give a try printing numbers from 1 to 100 with “goto” statement. You can use GfG IDE! 
Print 1 to 100 in C++, without loop and recursion
 

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.



My Personal Notes arrow_drop_up
Recommended Articles
Page :