java實現組合問題

來源:互聯網
上載者:User

標籤:輸入   system   str   class   樣本   pos   nbsp   有一個   scan   

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

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);
    }
}

java實現組合問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.