组合数学打表程序(矩阵快速幂中也经常用到):
#include<stdio.h>
#define MAXN 15
#define MOD 10000
int c[15][15];
void calc_comb()
{
c[0][0]=1;
for(int i=1;i<MAXN;i++)
{
c[i][0] = c[i][i] = 1;
for(int j=1;j<i;j++)
c[i][j] = (c[i-1][j]+c[i-1][j-1])%MOD;
}
}
int main()
{
int a,b;
calc_comb();
while(~scanf("%d%d",&a,&b))
{
printf("%d\n",c[a][b]);
}
return 0;
}

本文介绍了一种组合数学中的打表程序实现方法,该程序利用矩阵快速幂技术,并通过预计算组合数来提高效率。代码使用C语言编写,定义了一个二维数组c用于存储组合数,通过双重循环计算出所有小于等于14的整数的组合数。
194

被折叠的 条评论
为什么被折叠?



