Bạn có một số đa thức cô đơn, vì vậy hãy tạo cho họ một số bạn đồng hành (những người sẽ không đe dọa đâm)!
Đối với một đa thức bậc n
, có một ma trận khối lập phươngn by n
đồng hành cho nó. Bạn cần tạo một hàm chấp nhận một danh sách các hệ số cho một đa thức theo thứ tự tăng dần ( ) hoặc giảm dần ( ) (nhưng không phải cả hai) và xuất ra ma trận đồng hành. a + bx +cx^2 + …
ax^n + bx^(n-1) + cx^(n-2)+…
đối với đa thức c0 + c1x + c2x^2 + ... + cn-1x^(n-1) + x^n
, ma trận đồng hành của nó là
(0, 0, 0, ..., -c0 ),
(1, 0, 0, ..., -c1 ),
(0, 1, 0, ..., -c2 ),
(...................),
(0, 0, ..., 1, -cn-1)
lưu ý rằng hệ số cho x^n
là 1. Đối với bất kỳ giá trị nào khác, hãy chia tất cả các hệ số còn lại cho x^n
's. Ngoài ra, số 1 được bù từ đường chéo.
Nếu ngôn ngữ bạn đang sử dụng đã chứa một chức năng hoặc mô-đun thực hiện điều này, bạn không thể sử dụng ngôn ngữ đó - bạn phải tự viết.
Chẳng hạn, nếu bạn có 4x^2 – 7x + 12
, các hệ số theo thứ tự tăng dần (12, -7, 4)
và thứ tự giảm dần (4, -7, 12)
. Các chức năng hoặc chương trình nên đầu ra [(0, -3.0), (1, 1.75)]
cho một trong hai thứ tự. Chỉ định thứ tự mà mã của bạn chấp nhận. Đa thức tối thiểu phải là một bậc hai. Hệ số được giới hạn ở số thực.
Dưới đây là các ví dụ - đầu ra của bạn không phải phù hợp với định dạng đẹp nhưng nó sẽ xuất các hàng (theo ()
) của ma trận theo thứ tự.
Thứ tự tăng dần:
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. )]
Thứ tự giảm dần:
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. )]
Dennis chiến thắng với 20 byte!