package com.thealgorithms.maths; /* * Java program for Binomial Cofficients * Binomial Cofficients: A binomial cofficient C(n,k) gives number ways * in which k objects can be chosen from n objects. * Wikipedia: https://en.wikipedia.org/wiki/Binomial_coefficient * * Author: Akshay Dubey (https://github.com/itsAkshayDubey) * * */ public class BinomialCoefficient { /** * This method returns the number of ways in which k objects can be chosen from n objects * * @param totalObjects Total number of objects * @param numberOfObjects Number of objects to be chosen from total_objects * @return number of ways in which no_of_objects objects can be chosen from total_objects * objects */ public static int binomialCoefficient(int totalObjects, int numberOfObjects) { // Base Case if (numberOfObjects > totalObjects) { return 0; } // Base Case if (numberOfObjects == 0 || numberOfObjects == totalObjects) { return 1; } // Recursive Call return (binomialCoefficient(totalObjects - 1, numberOfObjects - 1) + binomialCoefficient(totalObjects - 1, numberOfObjects)); } }