Skip to content
Related Articles

Related Articles

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

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 14 Jun, 2022
View Discussion
Improve Article
Save Article

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 in the 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++ program to How will you print
//  numbers from 1 to 100 without using a loop?
#include <iostream>
using namespace std;
 
class gfg
{
     
// It 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)

Auxiliary Space: O(n)

Method 2:

C++




// 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.


Java




/*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);
        }
    }
}


Python3




def printNos(initial, last):
    if(initial<=last):
        print(initial)
        printNos(initial+1,last)
printNos(1,10)


C#




/*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


Javascript




/*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


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 3: Using a MACRO

C++




#include <iostream>
using namespace std;
  
#define COUT(i) cout << i++ << " ";
#define LEVEL(N) N N N N N N N N N N
#define PRINT(i) LEVEL(LEVEL(COUT(i)));        // 100 = 10×10
  
int main()
{
    int i = 1;
    // prints numbers from 1 to 100
    PRINT(i);
 
    return 0;
}


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 

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

Print 1 to 100 in C++, without loop and recursion
 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!