Printing 1 to 1000 without loop or conditionals in C/C++


Here we will see how to print 1 to 1000 without loop or any conditional statements. As the loops cannot be used, so we can try recursions, but here another constraint that, we cannot use the conditions also. So the base case of the recursion will not be used.

Here we are solving this problem using static members. At first we are initializing the static member with 1, then in the constructor we are printing the value and increase its value. Now create an array of 1000 objects of that class, so 1000 different objects are created, so the constructor is called 1000 times. Thus we can print 1 to 1000.

Example

#include<iostream>
using namespace std;
class PrintN {
   public:
      static int value;
      PrintN() {
         cout<< value++ <<", ";
      }
};
int PrintN::value = 1; //initialize to 1
main() {
   int N = 1000;
   PrintN obj[N]; //create an array of size 1000 to create 1000 objects
}

Output

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, .... 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,

Updated on: 30-Jul-2019

391 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements