ZZULIOJ 1100: 求組合數(函式專題)
阿新 • • 發佈:2018-11-21
題目描述
馬上要舉辦新生程式設計競賽了,與以往不同的是,本次比賽以班為單位,為了全面衡量一個班級的整體水平,要求從一個班的m位同學中任選k位同學代表本班參加比賽,問有多少種組合方案。顯然,這個組合數是m!/(k!(m-k)!)。要求編寫函式fact(),實現求一個數的階乘功能,在主函式中呼叫此函式。
int fact(int n)
{
//函式返回值為n的階乘。
}
輸入
輸入兩個正整數m,k,k<=m<=12。
輸出
輸出一個整數,即組合方案數。
樣例輸入
5 3
樣例輸出
10
public class Main { public static int fact(int n){ int sum=1; for (int i=n;i>0;i--) { sum *= i; } return sum; } public static void main(String[] args) { Scanner input=new Scanner(System.in); int m=input.nextInt(); int k=input.nextInt(); int num=Main.fact(m)/(Main.fact(k)*(Main.fact(m-k))); System.out.println(num); } }