HDU 1799 循环多少次?

作者在 2008-05-13 09:06:01 发布以下内容

http://acm.hdu.edu.cn/showproblem.php?pid=1799

公式推出来以后就是简单题了,呵呵

就是求n! / (m)! / (n-m)!   简单来说就是求C(n)m

#include <stdio.h>
int c[2002][2002] = {0};
int main()
{
    int i,j,t,n,m;
    for(i=1;i<=2000;i++)
    {
        c[i][0]=1;   
        c[i][1]=i%1007;
    }
    for(i=2;i<=2000; i++)
        for(j=2;j<=i;j++)
            c[i][j]=(c[i-1][j]%1007+c[i-1][j-1]%1007)%1007;       //这是求阶乘的递推公式
 scanf("%d",&t);
    while (t--)
    {
  scanf("%d%d",&m,&n);
        if (n>=m)
   printf("%d\n",c[n][m]);
        else
   printf("0\n");
    }
    return 0;
}

ACM | 阅读 3507 次
文章评论,共0条
游客请输入验证码
最新评论