P20_2 计算C(n,m) 最后5位
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 2010; //n的数值上限
int t; //t次查询
int n; //n个数字中
int m; //找m个数字组合
int C[N][N]; //组合数数组
int k = 100000;
int main() {
//预处理杨辉三角形
for (int i = 0; i < N; i++) {
//base case
C[i][0] = 1, C[i][i] = 1;
//递推生成其它组合数
for (int j = 1; j < i; j++)
C[i][j] = (C[i - 1][j] + C[i - 1][j - 1]) % k;
}
cin >> n >> m;
cout << C[n][m] << endl;
}