Jun 23, 2017

print all permutations of given numbers for a set of size n


#include <iostream>
using namespace std;

void printArray(int b[], int size)
{
    for(int i=0;i<size;i++)
    cout << b[i] << "-";
  
  cout << endl;
}
void printPermutations(int n, int a[], int level)
{
    if(n==0)
    {
        printArray(a, level);
        return;
    }
    
    for(int i=1; i<=3; i++)
    {
        a[level] = i;
        printPermutations(n-1, a, level+1);
    }
}

int main()
{
    int n;
    int a[50];
    cin >> n;
    printPermutations(n, a, 0);
 return 0;
}

Input: 3
Output:
1-1-1-
1-1-2-
1-1-3-
1-2-1-
1-2-2-
1-2-3-
1-3-1-
1-3-2-
1-3-3-
2-1-1-
2-1-2-
2-1-3-
2-2-1-
2-2-2-
2-2-3-
2-3-1-
2-3-2-
2-3-3-
3-1-1-
3-1-2-
3-1-3-
3-2-1-
3-2-2-
3-2-3-
3-3-1-
3-3-2-
3-3-3-

No comments: