RosettaCodeData/Task/Evaluate-binomial-coefficients/Icon/evaluate-binomial-coefficients-2.icon
2023-07-01 13:44:08 -04:00

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