Binomial Coeffcients(山东省第二届ACM竞赛)题

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;
}

原文地址:https://www.cnblogs.com/kongkaikai/p/3098861.html