summaryrefslogtreecommitdiff
path: root/binom_coeff.awk
blob: 6896671c9e5230ed05da2d59a2471ec3faa5249a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/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))
}