RosettaCodeData/Task/Evaluate-binomial-coefficients/Icon/evaluate-binomial-coefficients-2.icon

28 lines
421 B
Text
Raw Permalink Normal View History

2013-04-10 21:29:02 -07:00
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