1. 程式人生 > >ZZULIOJ 1100: 求組合數(函式專題)

ZZULIOJ 1100: 求組合數(函式專題)

題目描述

馬上要舉辦新生程式設計競賽了,與以往不同的是,本次比賽以班為單位,為了全面衡量一個班級的整體水平,要求從一個班的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);

        }

}