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

• Difficulty Level : Easy
• Last Updated : 14 Jun, 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 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 ` `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 `   `// 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

 ` 0)` `    ``{` `        ``printNos(``\$n` `- 1);` `        ``echo` `\$n``, ``" "``;` `    ``}` `    ``return``;` `}`   `// Driver code` `printNos(100);`   `// This code is contributed by vt_m` `?>`

## Javascript

 ``

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 ` `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 ` `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!

My Personal Notes arrow_drop_up
Recommended Articles
Page :