RosettaCodeData/Task/Evaluate-binomial-coefficients/ALGOL-68/evaluate-binomial-coefficients.alg

26 lines
399 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
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))
)