Cho một vectơ các n
giá trị (x1,x2,x3,...,xn)
trả về định thức của ma trận Vandermonde tương ứng .
Yếu tố quyết định này có thể được viết là:
Chi tiết
Chương trình / hàm của bạn phải chấp nhận một danh sách các số dấu phẩy động ở bất kỳ định dạng thuận tiện nào cho phép độ dài thay đổi và xuất ra định thức xác định.
Bạn có thể giả định rằng đầu vào cũng như đầu ra nằm trong phạm vi của các giá trị mà ngôn ngữ của bạn hỗ trợ. Nếu ngôn ngữ của bạn không hỗ trợ số dấu phẩy động, bạn có thể giả sử số nguyên.
Một số trường hợp thử nghiệm
Lưu ý rằng bất cứ khi nào có hai mục nhập bằng nhau, định thức sẽ 0
có hai hàng bằng nhau trong ma trận Vandermonde tương ứng. Cảm ơn @randomra đã chỉ ra bản thử nghiệm còn thiếu này.
[1,2,2,3] 0
[-13513] 1
[1,2] 1
[2,1] -1
[1,2,3] 2
[3,2,1] -2
[1,2,3,4] 12
[1,2,3,4,5] 288
[1,2,4] 6
[1,2,4,8] 1008
[1,2,4,8,16] 20321280
[0, .1, .2,...,1] 6.6586e-028
[1, .5, .25, .125] 0.00384521
[.25, .5, 1, 2, 4] 19.3798828
[1,2,2,3] => 0
:: hai phần tử bằng nhau trong mảng, để kiểm tra xem mã có tự kiểm tra sự khác biệt ( xi-xi
) chỉ bằng cách so sánh với 0
.