package com.interview.algorithms.array;
/**
* Created_By: stefanie
* Date: 14-7-22
* Time: 下午7:56
*/
public class C4_31_CombinationFinder {
public static void find(int N, int M){
if(N > M) find(M, M);
int[] aux = new int[N];
find(M, 0, aux, N);
}
private static void find(int dest, int idx, int[] aux, int N){
if(dest == 0) dump(aux);
if(dest <= 0 || idx == N) return;
find(dest, idx+1, aux, N);
aux[idx] = 1;
find(dest-idx-1, idx+1, aux, N);
aux[idx] = 0;
}
private static void dump(int[] aux){
for(int i = 0; i < aux.length; i++){
if(aux[i] == 1) System.out.print(i+1 + "\t");
}
System.out.println();
}
}