剛才剛更新了排列問題,順帶把組合問題也發表一下
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); } }