-5

I have tried to print 1to 100 without using loops but I have not achieved it.how to print the numbers from 1 to 100 and back to 1 in c++ witout using loops and conditions.

venkatesh
  • 9
  • 1

3 Answers3

2

This worked:

#include <iostream>

template <int N>
void print()
{
   std::cout << N << std::endl;
   print<N+1>();
}

template <>
void print<101>()
{
}

int main()
{
   print<1>();
}

With "clang++ -std=c++1y -o test print.cpp; ./test"

"And back to 1" part can be done similarly, since it's an interview question I've already documented enough.

berkus
  • 1,552
  • 12
  • 16
2

The power of RAII

class Printer
{
    Printer()
    {
        ++i;
        std::cout << i << std::endl;
    }

    ~Printer()
    {
        std::cout << i << std::endl;
        --i;
    }

    static int i = 0;
};

int main()
{
    std::vector<Printer> p(100);
    return 0;
}
SebastianK
  • 3,582
  • 3
  • 30
  • 48
1

Are there some restrictions? What about the static member?

This would do it:

std::cout<<1<<std::endl;
std::cout<<2<<std::endl;
std::cout<<3<<std::endl;
std::cout<<4<<std::endl;
std::cout<<5<<std::endl;
std::cout<<6<<std::endl;
std::cout<<7<<std::endl;
std::cout<<8<<std::endl;
std::cout<<9<<std::endl;
std::cout<<10<<std::endl;
std::cout<<11<<std::endl;
std::cout<<12<<std::endl;
std::cout<<13<<std::endl;
std::cout<<14<<std::endl;
std::cout<<15<<std::endl;
std::cout<<16<<std::endl;
std::cout<<17<<std::endl;
std::cout<<18<<std::endl;
std::cout<<19<<std::endl;
std::cout<<20<<std::endl;
std::cout<<21<<std::endl;
std::cout<<22<<std::endl;
std::cout<<23<<std::endl;
std::cout<<24<<std::endl;
std::cout<<25<<std::endl;
std::cout<<26<<std::endl;
std::cout<<27<<std::endl;
std::cout<<28<<std::endl;
std::cout<<29<<std::endl;
std::cout<<30<<std::endl;
std::cout<<31<<std::endl;
std::cout<<32<<std::endl;
std::cout<<33<<std::endl;
std::cout<<34<<std::endl;
std::cout<<35<<std::endl;
std::cout<<36<<std::endl;
std::cout<<37<<std::endl;
std::cout<<38<<std::endl;
std::cout<<39<<std::endl;
std::cout<<40<<std::endl;
std::cout<<41<<std::endl;
std::cout<<42<<std::endl;
std::cout<<43<<std::endl;
std::cout<<44<<std::endl;
std::cout<<45<<std::endl;
std::cout<<46<<std::endl;
std::cout<<47<<std::endl;
std::cout<<48<<std::endl;
std::cout<<49<<std::endl;
std::cout<<50<<std::endl;
std::cout<<51<<std::endl;
std::cout<<52<<std::endl;
std::cout<<53<<std::endl;
std::cout<<54<<std::endl;
std::cout<<55<<std::endl;
std::cout<<56<<std::endl;
std::cout<<57<<std::endl;
std::cout<<58<<std::endl;
std::cout<<59<<std::endl;
std::cout<<60<<std::endl;
std::cout<<61<<std::endl;
std::cout<<62<<std::endl;
std::cout<<63<<std::endl;
std::cout<<64<<std::endl;
std::cout<<65<<std::endl;
std::cout<<66<<std::endl;
std::cout<<67<<std::endl;
std::cout<<68<<std::endl;
std::cout<<69<<std::endl;
std::cout<<70<<std::endl;
std::cout<<71<<std::endl;
std::cout<<72<<std::endl;
std::cout<<73<<std::endl;
std::cout<<74<<std::endl;
std::cout<<75<<std::endl;
std::cout<<76<<std::endl;
std::cout<<77<<std::endl;
std::cout<<78<<std::endl;
std::cout<<79<<std::endl;
std::cout<<80<<std::endl;
std::cout<<81<<std::endl;
std::cout<<82<<std::endl;
std::cout<<83<<std::endl;
std::cout<<84<<std::endl;
std::cout<<85<<std::endl;
std::cout<<86<<std::endl;
std::cout<<87<<std::endl;
std::cout<<88<<std::endl;
std::cout<<89<<std::endl;
std::cout<<90<<std::endl;
std::cout<<91<<std::endl;
std::cout<<92<<std::endl;
std::cout<<93<<std::endl;
std::cout<<94<<std::endl;
std::cout<<95<<std::endl;
std::cout<<96<<std::endl;
std::cout<<97<<std::endl;
std::cout<<98<<std::endl;
std::cout<<99<<std::endl;
std::cout<<100<<std::endl;
std::cout<<99<<std::endl;
std::cout<<98<<std::endl;
std::cout<<97<<std::endl;
std::cout<<96<<std::endl;
std::cout<<95<<std::endl;
std::cout<<94<<std::endl;
std::cout<<93<<std::endl;
std::cout<<92<<std::endl;
std::cout<<91<<std::endl;
std::cout<<90<<std::endl;
std::cout<<89<<std::endl;
std::cout<<88<<std::endl;
std::cout<<87<<std::endl;
std::cout<<86<<std::endl;
std::cout<<85<<std::endl;
std::cout<<84<<std::endl;
std::cout<<83<<std::endl;
std::cout<<82<<std::endl;
std::cout<<81<<std::endl;
std::cout<<80<<std::endl;
std::cout<<79<<std::endl;
std::cout<<78<<std::endl;
std::cout<<77<<std::endl;
std::cout<<76<<std::endl;
std::cout<<75<<std::endl;
std::cout<<74<<std::endl;
std::cout<<73<<std::endl;
std::cout<<72<<std::endl;
std::cout<<71<<std::endl;
std::cout<<70<<std::endl;
std::cout<<69<<std::endl;
std::cout<<68<<std::endl;
std::cout<<67<<std::endl;
std::cout<<66<<std::endl;
std::cout<<65<<std::endl;
std::cout<<64<<std::endl;
std::cout<<63<<std::endl;
std::cout<<62<<std::endl;
std::cout<<61<<std::endl;
std::cout<<60<<std::endl;
std::cout<<59<<std::endl;
std::cout<<58<<std::endl;
std::cout<<57<<std::endl;
std::cout<<56<<std::endl;
std::cout<<55<<std::endl;
std::cout<<54<<std::endl;
std::cout<<53<<std::endl;
std::cout<<52<<std::endl;
std::cout<<51<<std::endl;
std::cout<<50<<std::endl;
std::cout<<49<<std::endl;
std::cout<<48<<std::endl;
std::cout<<47<<std::endl;
std::cout<<46<<std::endl;
std::cout<<45<<std::endl;
std::cout<<44<<std::endl;
std::cout<<43<<std::endl;
std::cout<<42<<std::endl;
std::cout<<41<<std::endl;
std::cout<<40<<std::endl;
std::cout<<39<<std::endl;
std::cout<<38<<std::endl;
std::cout<<37<<std::endl;
std::cout<<36<<std::endl;
std::cout<<35<<std::endl;
std::cout<<34<<std::endl;
std::cout<<33<<std::endl;
std::cout<<32<<std::endl;
std::cout<<31<<std::endl;
std::cout<<30<<std::endl;
std::cout<<29<<std::endl;
std::cout<<28<<std::endl;
std::cout<<27<<std::endl;
std::cout<<26<<std::endl;
std::cout<<25<<std::endl;
std::cout<<24<<std::endl;
std::cout<<23<<std::endl;
std::cout<<22<<std::endl;
std::cout<<21<<std::endl;
std::cout<<20<<std::endl;
std::cout<<19<<std::endl;
std::cout<<18<<std::endl;
std::cout<<17<<std::endl;
std::cout<<16<<std::endl;
std::cout<<15<<std::endl;
std::cout<<14<<std::endl;
std::cout<<13<<std::endl;
std::cout<<12<<std::endl;
std::cout<<11<<std::endl;
std::cout<<10<<std::endl;
std::cout<<9<<std::endl;
std::cout<<8<<std::endl;
std::cout<<7<<std::endl;
std::cout<<6<<std::endl;
std::cout<<5<<std::endl;
std::cout<<4<<std::endl;
std::cout<<3<<std::endl;
std::cout<<2<<std::endl;
std::cout<<1<<std::endl;
tgmath
  • 12,813
  • 2
  • 16
  • 24