C is Binomial Coefficient function This function returns C(n, k) for given n and k
(n int, k int)
| 20 | // C is Binomial Coefficient function |
| 21 | // This function returns C(n, k) for given n and k |
| 22 | func Combinations(n int, k int) (int, error) { |
| 23 | if n < 0 || k < 0 { |
| 24 | return -1, ErrPosArgsOnly |
| 25 | } |
| 26 | if k > (n - k) { |
| 27 | k = n - k |
| 28 | } |
| 29 | res := 1 |
| 30 | for i := 0; i < k; i++ { |
| 31 | res *= (n - i) |
| 32 | res /= (i + 1) |
| 33 | } |
| 34 | return res, nil |
| 35 | } |
no outgoing calls