uva10105(数论多项式展开公式)
2015-01-24 11:31
155 查看
题意:
多项式(x1+x2+...+xk)^n.
输入n和k(0<k,n<13),分别表示多项式次数和变元数。第二行为k个非负整数n1,n2,...nk,满足n1+n2+...nk=n.
输出多项式(x1+x2+...+xk)^n展开后的(x1)^n1*(x2)^n2...(xn)^nk这一项的系数。
思路:
网上看的多项式定理的公式
(a + b + c + ... + f) ^ n =
(n! / (k! * d! * j! * ... * z!)) * a^k * b^d * c^j * ... * f^z(k + d + ...=n);
AC:
多项式(x1+x2+...+xk)^n.
输入n和k(0<k,n<13),分别表示多项式次数和变元数。第二行为k个非负整数n1,n2,...nk,满足n1+n2+...nk=n.
输出多项式(x1+x2+...+xk)^n展开后的(x1)^n1*(x2)^n2...(xn)^nk这一项的系数。
思路:
网上看的多项式定理的公式
(a + b + c + ... + f) ^ n =
(n! / (k! * d! * j! * ... * z!)) * a^k * b^d * c^j * ... * f^z(k + d + ...=n);
AC:
#include <cstdio> #include <cstring> #define ll long long const int N = 13; ll c ; int n,k,num; int main () { c[0] = 1; for (int i = 1; i < N; i++) c[i] = c[i - 1] * i; while (scanf ("%d%d", &n, &k) != EOF) { ll ans = c ; for (int i = 0; i < k; i++) { scanf ("%d", &num); ans /= c[num]; n -= num; } printf ("%lld\n", ans); } return 0; }
相关文章推荐
- 一些数论公式
- 数论公式
- BZOJ 3823 定情信物【脑推公式/找规律,线性求逆元,坑爹的数论题细节x
- 数论中的一些公式(转)
- 一些数论公式
- 【数论 && 公式推导】LightOJ - 1336 Sigma Function
- E. Timofey and remoduling----数论及数学公式
- 数论——公式定理——康托展开
- c数据结构第一个公式写程序计算给定多项式在给定点x处的值
- hdu 2866 Special Prime(数论,推公式)
- HDU 5278 PowMod 数论公式推导
- 数论 + 公式 - HDU 4335 What is N?
- 数论中的一些公式(转)
- Sumdiv 数论提 (数学很重要),这道题中算法变成了次要因素,数学才是最重要的,注意其中的一个经典公式(求因数和的)(很好推导)
- 多项式展开式系数 (x平方+3x+1)的五次方展开中x平方系数是多少?
- (数论 素数分布的应用)nefu 117 素数个数的位数(素数定理的位数公式)
- 数论中的一些公式
- 数论公式
- 数论公式
- 多项式展开