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!
It can be done in many ways to print numbers using any looping conditions such as for(), while(), do-while(). But the same can be done without using loops (using recursive functions, goto statement).
Printing numbers from 1 to 100 using recursive functions has already been discussed in Set-1 . In this post, other two methods have been discussed:
- Using goto statement:
C++
#include <iostream>
using
namespace
std;
int
main()
{
int
i = 0;
begin:
i = i + 1;
cout << i <<
" "
;
if
(i < 100)
{
goto
begin;
}
return
0;
}
// This code is contributed by ShubhamCoder
chevron_rightfilter_noneC
#include <stdio.h>
int
main()
{
int
i = 0;
begin:
i = i + 1;
printf
(
"%d "
, i);
if
(i < 100)
goto
begin;
return
0;
}
chevron_rightfilter_noneC#
using
System;
class
GFG{
static
public
void
Main ()
{
int
i = 0;
begin:
i = i + 1;
Console.Write(
" "
+ i +
" "
);
if
(i < 100)
{
goto
begin;
}
}
}
// This code is contributed by ShubhamCoder
chevron_rightfilter_noneOutput:1 2 3 4 . . . 97 98 99 100
- Using recursive main function:
C++
#include <iostream>
using
namespace
std;
int
main()
{
static
int
i = 1;
if
(i <= 100)
{
cout << i++ <<
" "
;
main();
}
return
0;
}
// This code is contributed by ShubhamCoder
chevron_rightfilter_noneC
#include <stdio.h>
int
main()
{
static
int
i = 1;
if
(i <= 100) {
printf
(
"%d "
, i++);
main();
}
return
0;
}
chevron_rightfilter_noneJava
// Java program to count all pairs from both the
// linked lists whose product is equal to
// a given value
class
GFG
{
static
int
i =
1
;
public
static
void
main(String[] args)
{
if
(i <=
100
)
{
System.out.printf(
"%d "
, i++);
main(
null
);
}
}
}
// This code is contributed by Rajput-Ji
chevron_rightfilter_noneC#
// C# program to count all pairs from both the
// linked lists whose product is equal to
// a given value
using
System;
class
GFG
{
static
int
i = 1;
public
static
void
Main(String[] args)
{
if
(i <= 100)
{
Console.Write(
"{0} "
, i++);
Main(
null
);
}
}
}
// This code is contributed by Rajput-Ji
chevron_rightfilter_noneOutput:1 2 3 4 . . . 97 98 99 100
Attention reader! Don’t stop learning now. Get hold of all the important C++ Foundation and STL concepts with the C++ Foundation and STL courses at a student-friendly price and become industry ready.