如何在多项式中找到x ^ m的系数?

时间:2014-10-08 03:33:40

标签: c algorithm dynamic-programming polynomial-math

如何找到系数

x^m (m<=n)

类型的多项式中

(a1+b1x)(a2+b2x)...(an+bnx)? O(n^2)

需要算法!

3 个答案:

答案 0 :(得分:0)

就个人而言,我会使用二项式定理的归纳应用。

http://en.wikipedia.org/wiki/Binomial_theorem

这将解决两个二项式的基本情况。然后剩下的就是使用乘法的相关性重复应用程序。

我不太清楚C写这个,对不起。

答案 1 :(得分:0)

m - 元素的系数是(a or b)[i]i之间所有0的所有可能产品的总和,因此确切{ {1}} m选择{和m选择b

更多程序上,n - ma之间generate所有combinations个整数,在这些索引处乘以0的元素,得到complement在每个组合中,将得到的产品在这些指数上进一步乘以m的元素。将所有获得的产品加在一起。

答案 2 :(得分:0)

(a1+b1x)(a2+b2x)...(an+bnx)=b1*b2*...*bn*(a1/b1+x)*(a2/b2+x)...(a/bn+x)

右边部分是带根的多项式(-a1 / b1,-a2 / b2 ......- an / bn)

有O(N ^ 2)算法来查找此多项式的系数,实现here

(不要忘记将系数乘以b [i]的乘积