Problem4266--计算组合数

4266: 计算组合数

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

$C_n^m=C(n,\ m)$ 表示从 $n$ 个数中选择 $m$ 个的组合数。
计算公式如下:
若:$m=0,\ C(n,\ m)=1$
否则, 若 $n=1,\ C(n,\ m)=1$
否则,若 $m=n,\ C(n,\ m)=1$
否则 $C(n,\ m) = C(n-1,\ m-1) + C(n-1,\ m)$。
给出两个非负整数 $n,\ m$,编写程序计算组合数 $C(n,\ m)$ 的值。
其中 $n! = 1 \times 2 \times \cdots \times n$。(特别地,当 $n=0$ 时,$n!=1$;当 $m>n$ 时,$C_n^m=0$。)

Input

一行两个空格隔开的非负整数 $n\ (0 < n \leq 1,000),\ m\ (0 \leq m \leq n)$。

Output

输出一个数表示 $C_n^m$。

Sample 1 Input

5 2

Sample 1 Output

10

Source/Category

基础算法 4.11.递归