RosettaCodeData/Task/Evaluate-binomial-coefficients/ALGOL-68/evaluate-binomial-coefficients.alg
Ingy döt Net 764da6cbbb CDE
2013-04-10 16:57:12 -07:00

25 lines
399 B
Text

PROC factorial = (INT n)INT:
(
INT result;
result := 1;
FOR i TO n DO
result *:= i
OD;
result
);
PROC choose = (INT n, INT k)INT:
(
INT result;
# Note: code can be optimised here as k < n #
result := factorial(n) OVER (factorial(k) * factorial(n - k));
result
);
test:(
print((choose(5, 3), new line))
)