5849 Problem B 求组合数

问题 B: 求组合数

时间限制: 1 Sec  内存限制: 128 MB

题目描述

组合数的计算虽说简单但也不乏有些陷阱,这主要是因为语言中的数据类型在表示范围上是有限的。更何况还有中间结果溢出的现象,所以千万要小心。

输入

求组合数的数据都是成对(M与N)出现的,每对整数M和N满足0<m, n≤20,以EOF结束。

输出

输出该组合数。每个组合数换行。

样例输入

5 2
18 13

样例输出

10
8568

经验总结

 基础题~~

AC代码

#include
typedef long long LL;
LL combine(LL n,LL m)
{
	LL ans=1;
	for(LL i=1;i<=m;++i)
		ans=ans*(n-m+i)/i;
	return ans;
}

int main()
{
	int m,n;
	while(~scanf("%d %d",&m,&n))
	{
		printf("%d\n",combine(m,n));
	}
}

 

你可能感兴趣的:(codeup)