練習2 18 求組合數

2021-08-27 02:59:30 字數 1060 閱讀 2167

練習2-18 求組合數(15 分)

本題要求編寫程式,根據公式c​n​m​​=​m!(n−m)!​​n!​​算出從n個不同元素中取出m個元素(m≤n)的組合數。

建議定義和呼叫函式fact(n)計算n!,其中n的型別是int,函式型別是double

輸入在一行中給出兩個正整數m和n(m≤n),以空格分隔。

按照格式「result = 組合數計算結果」輸出。題目保證結果在double型別範圍內。

2 7
result = 21
分析:本題實際上就是求階乘的問題,fact函式求出階乘,呼叫輸出的時候再進行組合運算就可以了。

需要注意的點:

(1)階乘的初始值要設定為1

(2)由於函式fact的返回值型別是double,所以在主函式中呼叫的時候我們也用double型別的變數來接收c​n​m​​=​m!(n−m)!​​n!​​的計算結果,但是輸出格式採用「%.0f」(即指定輸出時不要小數部分)即可

**:

#define _crt_secure_no_warnings 1

#include#includedouble fact(int n)//求階乘

return pro;

}int main()

fact函式while迴圈寫法:

double fact(int n)

return pro;

}

測試結果:

練習2 18 求組合數

練習2 18 求組合數 15 分 本題要求編寫程式,根據公式c n m m n m n 算出從n個不同元素中取出m個元素 m n 的組合數。建議定義和呼叫函式fact n 計算n 其中n的型別是int,函式型別是double。輸入格式 輸入在一行中給出兩個正整數m和n m n 以空格分隔。輸出格式 ...

練習2 18 求組合數

本題要求編寫程式,根據公式c n m m n m n 算出從n個不同元素中取出m個元素 m n 的組合數。建議定義和呼叫函式fact n 計算n 其中n的型別是int,函式型別是double。輸入在一行中給出兩個正整數m和n m n 以空格分隔。按照格式 result 組合數計算結果 輸出。題目保證...

練習2 18 求組合數

本題要求編寫程式,根據公式c n m m n m n 算出從n個不同元素中取出m個元素 m n 的組合數。建議定義和呼叫函式fact n 計算n 其中n的型別是int,函式型別是double。輸入格式 輸入在一行中給出兩個正整數m和n m n 以空格分隔。輸出格式 按照格式 result 組合數計算...