Binomial Coeffcients
Time Limit: 1000MS Memory limit: 65536K
题目描述
输入
输出
示例输入
3 1 1 10 2 954 723
示例输出
1 45 3557658大家应该能看出来,那个公式其实就是排列组合中的组合数,大家搜一下,就会发现组合数其实就是杨辉三角(下图),规律大家可以自己对比一下。
#include<stdio.h>
int s[1002][1002];
int main()
{
int n,i,j;
s[0][0]=1;
s[0][1]=0;
for(i=1; i<1001; i++)
{
s[i][0]=1;
for(j=1; j<i; j++)
{
s[i][j]=s[i-1][j]+s[i-1][j-1];//计算杨辉三角(即c(n,k)的值)
if(s[i][j]>=10000003)
s[i][j]-=10000003;(大数取余)
}
s[i][i]=1;
}
scanf("%d",&n);
while(n--)
{
scanf("%d %d",&i,&j);
printf("%d\n",s[i][j]);
}
return 0;
}