Sprache: VB
Diese Funktion berechnet iterativ den Binomialkoeffizienten von [b]n[/b] über [b]k[/b]. Weitere Informationen zu diesem Thema finden Sie hier:
http://de.wikipedia.org/wiki/Binomialkoeffizient
Function nCk(ByVal n As Short, ByVal k As Byte) As Integer
If (k << 1) > n Then k = n - k
nCk = n
For t As Byte = 1 To k - 1
nCk = nCk * (n - t) (t + 1)
Next
End Function
Function nCk(ByVal n As Short, ByVal k As Byte) As Integer
If (k << 1) > n Then k = n - k
nCk = n
For t As Byte = 1 To k - 1
nCk = nCk * (n - t) (t + 1)
Next
End Function
Alte URL:
/snippet/binomialkoeffizient/1362
Ist 2k > n so gilt: nCk(n,k) = nCk(n,n-k)
Diese Gesetzmäßigkeit spart so manche Rechenzeit.