挑战
给定一个p
具有阶1
和度的实系数的n
多项式,求另一个q
度数的多项式最多n
使得(p∘q)(X) = p(q(X)) ≡ X mod X^(n+1)
,或者换句话说,使得p(q(X)) = X + h(X)
其中h
是一个任意多项式ord(h) ≥ n+1
。多项式q
由唯一确定p
。
对于一个多项式p(X) = a(n)*X^n + a(n+1)*X^(n+1) + ... + a(m)*X^m
,其中n <= m
和a(n) ≠ 0
,a(m) ≠ 0
我们说n
是为了中p
和m
是度的p
。
简化:您可以假设它p
具有整数系数,并且a(1)=1
(so p(X) = X + [some integral polynomial of order 2]
)。在这种情况下,q
也具有积分系数。
简化的目的是避免浮点数的问题。但是,出于说明目的,有一个非整体示例。
例子
- 考虑泰勒级数的
exp(x)-1 = x + x^2/2 + x^3/6 + x^4/24 + ...
和ln(x+1) = x - x^2/2 + x^3/3 - x^4/4 + ...
那么很明显ln(exp(x)-1+1)= x
。如果仅考虑这两个函数的4级的泰勒多项式,我们将得到以下表示法(请参见测试用例)p = [-1/4,1/3,-1/2,1,0]
,q = [1/24, 1/6, 1/2, 1,0]
并且(p∘q)(X) ≡ X mod X^5
考虑多项式
p(X) = X + X^2 + X^3 + X^4
。然后q(X) = X - X^2 + X^3 - X^4
我们得到(p∘q)(X) = p(q(X)) = X - 2X^5 + 3X^6 - 10X^7 +...+ X^16 ≡ X mod X^5
测试用例
这里,输入和输出多项式被写为系数列表(最高阶多项式的系数在前,常数项在后):
p = [4,3,2,0]; q=[0.3125,-.375,0.5,0]
整体测试用例:
p = [1,0]; q = [1,0]
p = [9,8,7,6,5,4,3,2,1,0]; q = [4862,-1430,429,-132,42,-14,5,-2,1,0]
p = [-1,3,-3,1,0]; q = [91,15,3,1,0]