计算组合数

提交数: 5724, 通过率: 23.43%, 平均分: 47.19

题目描述:

给出两个非负整数n和m,编写程序计算组合数 \( C_{n}^{m} \) 的值, \( C_{n}^{m} \)  的意思是n个当中取m个,总共有多少种取法。

输入格式:

一行两个空格隔开的非负整数 n, m。

输出格式:

输出一个数表示 \( C_{n}^{m} \) 。

样例输入:

5 2

样例输出:

10

提示:

\( 0 \lt n \le 50,    0 \le m  \le n 。 \)

\( C_{n}^{m} = \frac{n!}{m! \times (n-m)!} \)

,其中!为阶乘符号,如 n! = 1*2*3*4*...*n。

 

int类型的变量只能存储13以内的数的阶乘,long long类型的变量只能存储到20的阶乘。

n、m都可能大于20,所以不能把n或m的阶乘存放到一个变量中,要考虑边乘边除。

时间限制: 1000ms
空间限制: 128MB

来源: 原创