diff --git a/DIRECTORY.md b/DIRECTORY.md index cf6f68050..1bdffd780 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -156,6 +156,7 @@ * [Sieve Of Eratosthenes](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/sieve_of_eratosthenes.cpp) * [Sqrt Double](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/sqrt_double.cpp) * [String Fibonacci](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/string_fibonacci.cpp) + * [Sum Of Binomial Coefficient](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/sum_of_binomial_coefficient.cpp) * [Sum Of Digits](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/sum_of_digits.cpp) ## Numerical Methods diff --git a/math/sum_of_binomial_coefficient.cpp b/math/sum_of_binomial_coefficient.cpp new file mode 100644 index 000000000..e0dc826b8 --- /dev/null +++ b/math/sum_of_binomial_coefficient.cpp @@ -0,0 +1,67 @@ +/** + * @file + * @brief Algorithm to find sum of binomial coefficients of a given positive integer. + * @details Given a positive integer n, the task is to find the sum of binomial coefficient i.e + * nC0 + nC1 + nC2 + ... + nCn-1 + nCn + * By induction, we can prove that the sum is equal to 2^n + * @see more on https://en.wikipedia.org/wiki/Binomial_coefficient#Sums_of_the_binomial_coefficients + * @author [muskan0719](https://github.com/muskan0719) + */ +#include /// for std::cin and std::cout +#include /// for assert + +/** + * @namespace math + * @brief Mathematical algorithms + */ +namespace math { + + /** + * Function to calculate sum of binomial coefficients + * @param n number + * @return Sum of binomial coefficients of number + */ + uint64_t binomialCoeffSum(uint64_t n) + { + // Calculating 2^n + return (1 << n); + } +} // namespace math + +/** + * Function for testing binomialCoeffSum function. + * test cases and assert statement. + * @returns `void` +*/ +static void test() +{ + int test_case_1 = math::binomialCoeffSum(2); + assert(test_case_1==4); + std::cout<<"Test_case_1 Passed!"<