/**
* 先判断个数是否相等,在判断是否超出值范围
*
* @param n
* 从n个数中取m个数
* @param m
* @param count
* 已经取了几个数(进行了多少层循环)
* @param s
* 累加的字符串(结果)
* @param init
* 每次循环的初始值
*/
public static void f(int n, int m, int count, String s, int init) {
if (count == m) {
System.out.println(s);
return;
}
if (init >= n) {
// System.out.println("init>=n");
return;
}
for (int a = init; a < n; a++) {
// System.out.println("a="+a);
f(n, m, count + 1, s + a + " ", a + 1);
// System.out.println("end");
}
}