Dato un vettore di nvalori (x1,x2,x3,...,xn)restituisce il determinante della matrice Vandermonde corrispondente .
Questo determinante può essere scritto come:
Dettagli
Il programma / funzione deve accettare un elenco di numeri in virgola mobile in qualsiasi formato conveniente che consenta una lunghezza variabile e produrre il determinante specificato.
Puoi presumere che l'input e l'output siano compresi nell'intervallo dei valori supportati dalla tua lingua. Se la tua lingua non supporta i numeri in virgola mobile, puoi assumere numeri interi.
Alcuni casi di test
Si noti che ogni volta che ci sono due voci uguali, il determinante sarà 0dato che ci sono due righe uguali nella matrice Vandermonde corrispondente. Grazie a @randomra per aver segnalato questo testcase mancante.
[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:: due elementi uguali nell'array, per verificare se il codice controlla l'autodifferenza ( xi-xi) solo confrontandola con0 .
