diff --git a/src/main/java/com/thealgorithms/maths/BinomialCoefficient.java b/src/main/java/com/thealgorithms/maths/BinomialCoefficient.java index e6a08cd65..96b2c9ba8 100644 --- a/src/main/java/com/thealgorithms/maths/BinomialCoefficient.java +++ b/src/main/java/com/thealgorithms/maths/BinomialCoefficient.java @@ -11,36 +11,29 @@ package com.thealgorithms.maths; * */ public class BinomialCoefficient { - - /** + + /** * This method returns the number of ways in which k objects can be chosen from n objects * - * @param total_objects Total number of objects - * @param no_of_objects Number of objects to be chosen from total_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 */ - - static int binomialCoefficient(int total_objects, int no_of_objects) { - - //Base Case - if(no_of_objects > total_objects) { - return 0; - } - - //Base Case - if(no_of_objects == 0 || no_of_objects == total_objects) { - return 1; - } - - //Recursive Call - return binomialCoefficient(total_objects - 1, no_of_objects - 1) - + binomialCoefficient(total_objects - 1, no_of_objects); - } - - public static void main(String[] args) { - System.out.println(binomialCoefficient(20,2)); - - //Output: 190 - } + 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); + } } diff --git a/src/test/java/com/thealgorithms/maths/BinomialCoefficientTest.java b/src/test/java/com/thealgorithms/maths/BinomialCoefficientTest.java new file mode 100644 index 000000000..f9a1c5e48 --- /dev/null +++ b/src/test/java/com/thealgorithms/maths/BinomialCoefficientTest.java @@ -0,0 +1,18 @@ +package com.thealgorithms.maths; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.Test; + +public class BinomialCoefficientTest { + + @Test + void testBinomialCoefficient() { + + assertEquals(190, BinomialCoefficient.binomialCoefficient(20, 2)); + assertEquals(792, BinomialCoefficient.binomialCoefficient(12, 5)); + assertEquals(84, BinomialCoefficient.binomialCoefficient(9, 3)); + assertEquals(1, BinomialCoefficient.binomialCoefficient(17, 17)); + + } +}