Podany wektor n
wartości (x1,x2,x3,...,xn)
zwraca wyznacznik odpowiedniej macierzy Vandermonde .
Tę determinantę można zapisać jako:
Detale
Twój program / funkcja musi zaakceptować listę liczb zmiennoprzecinkowych w dowolnym dogodnym formacie, który pozwala na zmienną długość, i wyprowadzić określoną determinantę.
Możesz założyć, że dane wejściowe i wyjściowe mieszczą się w zakresie wartości obsługiwanych przez Twój język. Jeśli Twój język nie obsługuje liczb zmiennoprzecinkowych, możesz założyć liczby całkowite.
Niektóre przypadki testowe
Zauważ, że ilekroć są dwa równe wpisy, wyznacznikiem będzie, 0
ponieważ w odpowiedniej macierzy Vandermonde znajdują się dwa równe rzędy. Dzięki @randomra za wskazanie tej brakującej skrzynki testowej.
[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
: dwa równe elementy w tablicy, aby sprawdzić, czy kod sprawdza różnicę ( xi-xi
) tylko przez porównanie z 0
.