Benutzung auf eigene Gefahr ! |
Beschreibung |
Das Programm berechnet den Binomialkoeffizienten n über k. Der Algorithmus hat folgende Merkmale:
Grundsätzlich lässt sich der Bereich der Ergebnisse mit voller Genauigkeit erweitern, wenn als Rückgabewert der Funktion der VBA-Datentyp Currency (größter ganzzahlig darstellbarer Wert 922.337.203.685.477) statt Long (größter ganzzahlig darstellbarer Wert 2.147.483.647) verwendet wird. Speziell in Excel wird dann allerdings dem Rückgabewert standardmäßig das Zahlenformat Währung vorgegeben, falls es nicht manuell gesetzt wurde. Den Algorithmus habe ich auch in WikiBooks vorgestellt: http://de.wikibooks.org/wiki/Algorithmensammlung:_Statistik:_Binomialkoeffizient |
VBA-Quelltext |
'*** Code In VBA: Public Function BinomialKoeffizient(n As Long, ByVal k As Long) As Long Dim i As Long, s As Long ' Vergrößerung der Geschwindigkeit If n < k + k Then k = n - k ' Startwerte setzen s = n - k + 1 BinomialKoeffizient = 1 For i = 1 To k If s Mod i = 0 Then ' Teilbarkeit prüfen BinomialKoeffizient = BinomialKoeffizient * (s / i) Else BinomialKoeffizient = (BinomialKoeffizient / i) * s End If s = s + 1 Next End Function '*** Code In JavaScript: Function BinomialKoeffizient(n, k) { If (k + k > n) { k = n - k } If (k < 0) { Return 0 } Else { var Ergebnis = 1 For (i=0;i } } |
Argumente der Funktion/Prozedur |
|