例如,当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);
}
}
转载请注明原文地址: https://ju.6miu.com/read-183080.html