ojBinomial function utilities

int ojBinomial(
  1. int n,
  2. int k
)

Binomial coefficient for 0 <= n <= 64, 0 <= k <= 64 using lookup table

Implementation

int ojBinomial(int n, int k) {
  assert(n >= 0 && n <= 64 && k >= 0 && k <= 64);
  if (k > n) return 0;
  if (k > n - k) k = n - k;

  if (k > 1) {
    return coefficients[((((n - 3) * (n - 3)) >> 2) + (k - 2))];
  }
  if (1 == k) return n;
  return 1;
}