* feat: Add ncr mod p code (#1323)
* Update math/ncr_modulo_p.cpp
Co-authored-by: David Leal <halfpacho@gmail.com>
* Added all functions inside a class + added more asserts
* updating DIRECTORY.md
* clang-format and clang-tidy fixes for f6df24a5
* Replace int64_t to uint64_t + add namespace + detailed documentation
* clang-format and clang-tidy fixes for e09a0579
* Add extra namespace + add const& in function arguments
* clang-format and clang-tidy fixes for 8111f881
* Update ncr_modulo_p.cpp
* clang-format and clang-tidy fixes for 2ad2f721
* Update math/ncr_modulo_p.cpp
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update math/ncr_modulo_p.cpp
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update math/ncr_modulo_p.cpp
Co-authored-by: David Leal <halfpacho@gmail.com>
* clang-format and clang-tidy fixes for 5b69ba5c
* updating DIRECTORY.md
* clang-format and clang-tidy fixes for a8401d4b
Co-authored-by: David Leal <halfpacho@gmail.com>
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Prime Factorization is a very important and useful technique to factorize any number into its prime factors. It has various applications in the field of number theory.
The method of prime factorization involves two function calls.
First: Calculating all the prime number up till a certain range using the standard
Sieve of Eratosthenes.
Second: Using the prime numbers to reduce the the given number and thus find all its prime factors.
The complexity of the solution involves approx. O(n logn) in calculating sieve of eratosthenes
O(log n) in calculating the prime factors of the number. So in total approx. O(n logn).
Requirements: For compile you need the compiler flag for C++ 11