问题 A: 计算组合数
时间限制: 1 Sec 内存限制: 128 MB
献花: 22 解决: 21
[献花][花圈][TK题库]
题目描述
编制程序,输入m,n(M>=n>=0)后,计算下列表达式的值并输出:
要求将计算阶乘运算的函数写为fact(n),函数返回值的类型为float
输入
m n
输出
对应表达式的值
样例输入
2 1
样例输出
2
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <cstring>
#include <string>
using namespace std;
typedef long long LL;
LL C(LL m, LL n)
{
LL res = 1;
for (LL i = 1,D = m - n; i <= D; ++i)
{
res = res * (m - i + 1) / i;
}
return res;
}
int main()
{
#ifdef _DEBUG
freopen("data.txt", "r+", stdin);
#endif // _DEBUG
LL m, n;
while (cin >> m >> n)
{
cout << C(m, n) << endl;
}
return 0;
}
/**************************************************************
Problem: 4826
User: Sharwen
Language: C++
Result: 升仙
Time:0 ms
Memory:1704 kb
****************************************************************/