How will you print numbers from 1 to 100 without using loop? - GeeksforGeeks

12 Jan, 2022
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.  
Method-1:
C++
C
Java
Python3
C#
PHP
Javascript
// 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 npublic:void printNos(unsigned int n){    if(n > 0)    {        printNos(n - 1);        cout << n << " ";    }    return;}}; // Driver codeint main(){    gfg g;    g.printNos(100);    return 0;}  // This code is contributed by SoM15242
#include <stdio.h> // Prints numbers from 1 to nvoid printNos(unsigned int n){    if(n > 0)    {        printNos(n - 1);        printf("%d ", n);    }    return;} // Driver codeint main(){    printNos(100);    getchar();    return 0;}
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 program to Print# numbers from 1 to n def printNos(n):    if n > 0:        printNos(n - 1)        print(n, end = ' ') # Driver codeprintNos(100) # This code is contributed by Smitha Dinesh Semwal
// C# code for print numbers from// 1 to 100 without using loopusing 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 Codepublic static void Main(){        printNos(100);}} // This code is contributed by Ajit
<?php// PHP program print numbers// from 1 to 100 without// using loop    // Prints numbers from 1 to nfunction printNos($n){    if($n > 0)    {        printNos($n - 1);        echo $n, " ";    }    return;} // Driver codeprintNos(100); // This code is contributed by vt_m?>
<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)
Auxiliary Space: O(n)
Method 2:
C++
Java
Python3
C#
Javascript
// C++ program#include <bits/stdc++.h>using namespace std; void printNos(int initial, int last){    if (initial <= last) {        cout << initial << " ";        printNos(initial + 1, last);    }} int main(){    printNos(1, 100);    return 0;} // This code is contributed by ukasp.
/*package whatever //do not write package name here */ import java.io.*; class GFG {    public static void main(String[] args)    {        printNos(1, 100);    }    public static void printNos(int initial, int last)    {        if (initial <= last) {            System.out.print(initial + " ");            printNos(initial + 1, last);        }    }}
def printNos(initial, last):    if(initial<=last):        print(initial)        printNos(initial+1,last)printNos(1,10)
/*package whatever //do not write package name here */   using System;public class GFG {    public static void Main(String[] args)    {        printNos(1, 100);    }    public static void printNos(int initial, int last)    {        if (initial <= last) {            Console.Write(initial + " ");            printNos(initial + 1, last);        }    }} // This code contributed by gauravrajput1
/*package whatever //do not write package name here */     printNos(1, 100);         function printNos(initial, last)    {        if (initial <= last) {            document.write(initial + " ");            printNos(initial + 1, last);        }    } // This code is contributed by shivanisinghss2110
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)
Auxiliary Space: 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 
Manish_100
vt_m
jit_t
SoumikMondal
rameshtravel07
saivinaygondrala
GauravRajput1
ukasp
simmytarika5
rishavmahato348
shivanisinghss2110
subham348
1612
cpp-puzzle
C Language
C++
Recursion
Recursion
CPP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Multidimensional Arrays in C / C++
rand() and srand() in C/C++
fork() in C
Left Shift and Right Shift Operators in C/C++
Command line arguments in C/C++
Vector in C++ STL
Inheritance in C++
Initialize a vector in C++ (6 different ways)
Map in C++ Standard Template Library (STL)
C++ Classes and Objects