1478: 组合数
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:15
解决:7
题目描述
组合数C(N, K)表示了N个数字不重复地选取K个作组合的方案数。
C(N, K) = N!/(N-M)!M!
当然,在取余数的条件下,由于除法的限制,上述公式求C(N, K) mod H不方便,并且高精度除法也不容易写,所以一般情况下我们采取的是下列方法。
若N,K不大,可以通过递推的方法求出所有组合数。
首先,N个数取0个数显然只有1种方案,那就是什么都不取;
接着,N个数取N个数的组合显然也只有1种方案。
所以C(N, 0) = 1,C(N, N) = 1
其他情况下,C(N, K) = C(N - 1, K) + C(N ? 1, K ? 1),这样就可以通过递推求出所有组合数。
你可以看到,其实结果其实就是杨辉三角形。
现在对于给定的N和K,请输出C(N, K) mod 100003。
输入
第1行为两个非负整数N,K。
输出
包括1个非负整数,
样例输入 复制
4 2
样例输出 复制
6
提示
【数据规模】
对于100%的数据,N≤1000,K≤1000。