Данный вектор n
значений (x1,x2,x3,...,xn)
возвращает определитель соответствующей матрицы Вандермонда .
Этот определитель может быть записан как:
Детали
Ваша программа / функция должна принимать список чисел с плавающей запятой в любом удобном формате, который допускает переменную длину, и выводить указанный определитель.
Вы можете предположить, что вход и выход находятся в диапазоне значений, поддерживаемых вашим языком. Если ваш язык не поддерживает числа с плавающей запятой, вы можете использовать целые числа.
Некоторые тестовые случаи
Обратите внимание, что всякий раз, когда есть два равных элемента, определитель будет таким, 0
как есть две равные строки в соответствующей матрице Вандермонда. Спасибо @randomra за указание на этот пропущенный тестовый пример.
[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
два равных элемента в массиве, чтобы проверить, проверяет ли код self-разность ( xi-xi
), просто сравнивая с 0
.