排列组合(C n m和A n m)的java实现

1、求C n m的代码(n大m小)

/**
     * 例如c 5 3,a大b小
     * @param a
     * @param b
     * @return
     */
    
    public static int amount( int a,int b) {
        int da=1;
        int xiao=1;
        //5!/(5-3)!
        for(int i=0;i<b;i++) {
            da=da*a;
            a--;
        }
        //3!
        for(;b>0;b--) {
            xiao=xiao*b;
        }
        return da/xiao;
    }

2、求A n m的代码(n大m小)

/**
     * 例如c 5 3,a大b小
     * @param a
     * @param b
     * @return
     */
    
    public static int amount( int a,int b) {
        int da=1;
        //5!/(5-3)!
        for(int i=0;i<b;i++) {
            da=da*a;
            a--;
        }
        
        return da;
    }
        
        

猜你喜欢

转载自blog.csdn.net/g1607058603/article/details/82262998