練習2-18 求組合數(shù) (15 分)
1. 題目摘自
https://pintia.cn/problem-sets/12/problems/250
2. 題目內(nèi)容
本題要求編寫程序,根據(jù)公式:
算出從 n
個不同元素中取出 m
個元素(m≤n)
的組合數(shù)舰罚。
建議定義和調(diào)用函數(shù) fact(n)
計算 n!
纽门,其中 n
的類型是 int
,函數(shù)類型是double
营罢。
輸入格式:
輸入在一行中給出兩個正整數(shù) m
和 n(m≤n)
赏陵,以空格分隔。
輸出格式:
按照格式“result =
組合數(shù)計算結(jié)果”輸出饲漾。題目保證結(jié)果在 double
類型范圍內(nèi)蝙搔。
輸入樣例:
2 7
輸出樣例:
result = 21
3. 源碼參考
#include<iostream>
using namespace std;
double fact(int n);
int main()
{
double m, n;
cin >> m >> n;
cout << "result = " << fact(n) / (fact(m) * fact(n - m)) << endl;
return 0;
}
double fact(int n)
{
double y = 1;
for (int i = 1; i <= n; i++)
{
y *= i;
}
return y;
}