找出n个自然数(1,2,3,…,n)中r个数的组合

    xiaoxiao2021-03-25  56

    例如,当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

    最新回复(0)