GET "libhdr" LET choose(n, k) = ~(0 <= k <= n) -> 0, 2*k > n -> binomial(n, n - k), binomial(n, k) AND binomial(n, k) = k = 0 -> 1, binomial(n, k - 1) * (n - k + 1) / k LET start() = VALOF { LET n, k = ?, ? LET argv = VEC 20 LET sz = ? sz := rdargs("n/a/n/p,k/a/n/p", argv, 20) UNLESS sz ~= 0 RESULTIS 1 n := !argv!0 k := !argv!1 writef("%d choose %d = %d *n", n, k, choose(n, k)) RESULTIS 0 }