mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-31 00:37:15 +08:00
39 lines
1.2 KiB
Java
39 lines
1.2 KiB
Java
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));
|
|
}
|
|
}
|