全组合递归 java实现
之前在网上找的代码,不记得是谁写的了,觉得写的很不错,分享一下
import java.util.Scanner;
public class Combination {
public static int data[];
public static int r;
public static int n;
public static int flag=0;
public static void dfs(int index,int flag) {
data[flag]=index;
if(flag==r) {
for(int i=1;i<=r;i++) {
System.out.print(" "+data[i]);
}
System.out.println();
return;
}
for(int i=index+1;i<=n;i++) {
dfs(i, flag+1);
}
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
n=s.nextInt();
r=s.nextInt();
data = new int[r+1];
dfs(0,0);
}
}
结果
4 3
1 2 3
1 2 4
1 3 4
2 3 4