java實現組合問題


剛才剛更新了排列問題,順帶把組合問題也發表一下

1.問題描述:

    已知有m個球,從m個球中取n個球有多少種不同的取法。

2.輸入示例:

    請輸入總球的個數和要取的球的個數
    6 5

3.輸出示例:

    共有6種取法

4.代碼示例:

import java.util.Scanner;

//已知有m個球,從中取n個球,請問有多少種不同的取法
public class Quqiu {
    public static void main(String[] args) {
        Scanner scn = new Scanner(System.in);
        System.out.println("請輸入總球的個數和要取的球的個數");
        int m = scn.nextInt();
        int n = scn.nextInt();
        int sum = f(m,n);//這個方法是從m個球中取n個球出來,返回取球方案數目
        System.out.println("共有" + sum + "種取法");
    }

    public static int f(int m, int n) {
        if(m==n){
            return 1;
        }
        if(n==0){
            return 1;
        }
        
        //假設有一個特殊球,有兩種情況,從除特殊球剩下的球中,取n個球,另一種一定不取特殊球
        return f(m-1,n)+f(m-1,n-1);
    }
}

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM