例如,当n=5,r=3时,所有组合为:
543
542
541
532
531
521
432
431
421
321
f(n,r)可转换为
n,f(n-1,r-1)
n-1,f(n-2,r-1)
….
r,(r-1,r-1)
public class Test4 {
static int[] a=new int[100];
void f(int n,int r){
for(int i=n;i>=r;i--){
a[r]=i;
if(r>1)
f(i-1,r-1);
else{
for(int j=a[0];j>=1;j--){
System.out.print(a[j]+" ");
}
System.out.println();
}
}
}
public static void main(String[] args) {
Test4 xx=new Test4();
int n=5,r=3;
a[0]=r;
xx.f(n,r);
}
}