计算系数
Posted 【對策局】
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算系数相关的知识,希望对你有一定的参考价值。
【题目描述】
给定一个多项式(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; }
以上是关于计算系数的主要内容,如果未能解决你的问题,请参考以下文章