Showing posts with label Well Order Number. Show all posts
Showing posts with label Well Order Number. Show all posts

Monday, 16 June 2014

Well Order Numbers of Given Length in C++

A number is called Well Order if every digit is greater than previous one(Eg: 238 is well Order as 2<3<8 but 132 is not). Given length of a number, Find all well ordered numbers of Given Length

Input:  Length of number
Output : Well Ordered numbers of given length



#include <iostream>
#include <vector>
#include <cmath>

using namespace std;
int p;
void PrintNum ( int prefix,int s, int n )
{
    if ( n==0 && prefix>=pow ( 10.0, p-1 ) )
    {
        cout<< prefix<<"\n";
    }
    else
    {
        for ( int i=s; i<10; i++ )
        {
            PrintNum ( 10*prefix+i, i+1, n-1 );
        }
    }
}
int main()
{
    cin>>p;
    PrintNum ( 0,0,p );
    getchar();

}

Please comment if you find anything incorrect or have any inputs to improve the code.