码迷,mamicode.com
首页 > 其他好文 > 详细

计算系数

时间:2016-06-26 15:19:46      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

【题目描述】

给定一个多项式(ax+by)^k,请求出多项式展开后x^n*y^m项的系数。

【输入描述】

共一行,包含 5 个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开。

【输出描述】

输出共1行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007取模后的结果。

【样例输入】

1 1 3 1 2

【样例输出】

3

【数据范围及提示】

对于 30%的数据,有0 ≤ k ≤ 10;
对于 50%的数据,有a = 1,b = 1;
对于 100%的数据,有0 ≤ k ≤ 1000,0 ≤ n,m ≤ k,且n + m = k,0 ≤ a,b ≤ 1000000。

源代码:

#include<cstdio>
int m,n,k,t1,t2,q=10007,ans,f[1001][1001];
int Qsqr(int x,int t)
{
    int num=1;
    while (t)
    {
        if (t&1)
          num=num*x%q;
        x=x*x%q;
        t=t>>1;
    }
    return num;
}
int main()
{
    scanf("%d%d%d%d%d",&t1,&t2,&k,&n,&m);
    ans=Qsqr(t1%q,n); //命!是不公平的命指使你到这儿来的!
    ans=ans*Qsqr(t2%q,m)%q;
    for (int a=2;a<=k+1;a++) //杨辉三角。
    {
        f[a][1]=f[a][a]=1;
          for (int b=2;b<=m+1&&b<a;b++)
            f[a][b]=(f[a-1][b-1]+f[a-1][b])%q;
    }
    printf("%d",ans*f[k+1][m+1]%q);
    return 0;
}

计算系数

标签:

原文地址:http://www.cnblogs.com/Ackermann/p/5617847.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!