您有许多个孤独的多项式,因此请让他们成为一些同伴(不会威胁您的攻击)!
对于度的多项式n
,有一个n by n
伴随的立方 矩阵。您需要创建一个函数,该函数以升序(a + bx +cx^2 + …
)或降序(ax^n + bx^(n-1) + cx^(n-2)+…
)的顺序接受多项式的系数列表(但不能同时接受)并输出伴随矩阵。
对于一个多项式c0 + c1x + c2x^2 + ... + cn-1x^(n-1) + x^n
,其伴随矩阵为
(0, 0, 0, ..., -c0 ),
(1, 0, 0, ..., -c1 ),
(0, 1, 0, ..., -c2 ),
(...................),
(0, 0, ..., 1, -cn-1)
请注意,的系数为x^n
1。对于其他任何值,请将所有其余系数除以x^n
。此外,1从对角线偏移。
如果您使用的语言已经包含执行此操作的功能或模块,则不能使用它-您必须编写自己的语言。
例如,如果您有4x^2 – 7x + 12
,则升序系数为(12, -7, 4)
和降序(4, -7, 12)
。函数或程序应按[(0, -3.0), (1, 1.75)]
任一顺序输出。指定您的代码接受的顺序。最小多项式应为二次。系数限于实数。
以下是示例–您的输出不必与漂亮的格式匹配,但应按()
顺序输出矩阵的行(中的)。
升序:
input:
[3., 7., -5., 4., 1.]
output:
[(0, 0, 0, -3.),
(1, 0, 0, -7.),
(0, 1, 0, 5.),
(0, 0, 1, -4.)]
input:
[-4., -7., 13.]
output:
[(0, 0.30769231),
(1, 0.53846154)]
input:
[23., 1., 92., 8., -45., 88., 88.]
output:
[(0, 0, 0, 0, 0, -0.26136364),
(1, 0, 0, 0, 0, -0.01136364),
(0, 1, 0, 0, 0, -1.04545455),
(0, 0, 1, 0, 0, -0.09090909),
(0, 0, 0, 1, 0, 0.51136364),
(0, 0, 0, 0, 1, -1. )]
降序:
input:
[1., 4., -5., 7., 3.]
output:
[(0, 0, 0, -3.),
(1, 0, 0, -7.),
(0, 1, 0, 5.),
(0, 0, 1, -4.)]
input:
[13., -7., -4.]
output:
[(0, 0.30769231),
(1, 0.53846154)]
input:
[88., 88., -45., 8., 92.,1., 23.]
output:
[(0, 0, 0, 0, 0, -0.26136364),
(1, 0, 0, 0, 0, -0.01136364),
(0, 1, 0, 0, 0, -1.04545455),
(0, 0, 1, 0, 0, -0.09090909),
(0, 0, 0, 1, 0, 0.51136364),
(0, 0, 0, 0, 1, -1. )]
丹尼斯以20字节获胜!