summaryrefslogtreecommitdiff
path: root/binom_coeff.awk
blob: a19f4647c8508bd45e86f99cfc80fe099807773c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#! /usr/bin/awk -f

### binomial coeffecient
# https://rosettacode.org/wiki/Evaluate_binomial_coefficients
function binom(n, k) {
    b = 1
    for (i=1; i<(k+1); i++) {
        b *= (n - i + 1) / i
    }
    return b
}

BEGIN {
    ARGV[1] ? N = ARGV[1] : N = 1
    ARGV[2] ? K = ARGV[2] : K = 1
    ARGV[3] ? OFMT = "%." ARGV[3] "g" : OFMT = "%g"
    printf(OFMT ORS, binom(N, K))
}