Printing 1 to 1000 without loop or conditionals

Printing 1 to 1000 without loop or conditionals

Print numbers from 1 to 1000 without using any loop or conditional statements.

#include <iostream>
template<int N>
struct NumberGeneration{
  static void out(std::ostream& os)
  {
    NumberGeneration<N-1>::out(os);
    os << N << std::endl;
  }
};
template<>
struct NumberGeneration<1>{
  static void out(std::ostream& os)
  {
    os << 1 << std::endl;
  }
};
int main(){
   NumberGeneration<1000>::out(std::cout);
}

One Reply to “Printing 1 to 1000 without loop or conditionals”

Leave a Reply

%d bloggers like this: