27 lines
421 B
Text
27 lines
421 B
Text
procedure binocoef(n, k) #: binomial coefficient
|
|
|
|
k := integer(k) | fail
|
|
n := integer(n) | fail
|
|
|
|
if (k = 0) | (n = k) then return 1
|
|
|
|
if 0 <= k <= n then
|
|
return factorial(n) / (factorial(k) * factorial(n - k))
|
|
else fail
|
|
|
|
end
|
|
|
|
procedure factorial(n) #: return n! (n factorial)
|
|
local i
|
|
|
|
n := integer(n) | runerr(101, n)
|
|
|
|
if n < 0 then fail
|
|
|
|
i := 1
|
|
|
|
every i *:= 1 to n
|
|
|
|
return i
|
|
|
|
end
|