Bei einem gegebenen Vektor von n
Werten (x1,x2,x3,...,xn)
zurückkehren , die Determinante der entsprechenden Vandermonde-Matrix .
Diese Determinante kann wie folgt geschrieben werden:
Einzelheiten
Ihr Programm / Ihre Funktion muss eine Liste von Gleitkommazahlen in einem beliebigen geeigneten Format akzeptieren, das eine variable Länge zulässt, und die angegebene Determinante ausgeben.
Sie können davon ausgehen, dass sowohl die Eingabe als auch die Ausgabe im Bereich der von Ihrer Sprache unterstützten Werte liegt. Wenn Ihre Sprache keine Gleitkommazahlen unterstützt, können Sie ganze Zahlen annehmen.
Einige Testfälle
Es ist zu beachten, dass die Determinante immer dann ist, wenn zwei gleiche Einträge 0
vorhanden sind , da in der entsprechenden Vandermonde-Matrix zwei gleiche Zeilen vorhanden sind. Vielen Dank an @randomra für den Hinweis auf diesen fehlenden Testfall.
[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
Zwei gleiche Elemente im Array, um zu testen, ob der Code die Selbstdifferenz ( xi-xi
) überprüft, indem er nur mit verglichen wird 0
.