У вас есть несколько полиномов, которые одиноки, так что сделайте из них несколько компаньонов (которые не будут угрожать нанести удар)!
Для многочлена степени 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
's. Кроме того, 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 байтами!