TheAlgorithms-C-Plus-Plus/math
Swastika Gupta f30cb37742
Update math/n_bonacci.cpp
Co-authored-by: David Leal <halfpacho@gmail.com>
2021-07-22 07:29:28 +05:30
..
armstrong_number.cpp formatting source-code for ca70c3097e 2020-06-25 09:51:24 +00:00
binary_exponent.cpp
binomial_calculate.cpp feat: add program to calculate binomial coefficients (#1448) 2021-02-23 00:51:58 +05:30
check_amicable_pair.cpp formatting source-code for 1d7a73ea58 2020-06-23 19:34:19 +00:00
check_factorial.cpp feat: added check_factorial (#1155) 2020-10-05 08:52:27 -04:00
check_prime.cpp
CMakeLists.txt
complex_numbers.cpp formatting source-code for 247301c5b5 2020-07-02 12:48:35 +00:00
double_factorial.cpp formatting source-code for e1b1c71e7c 2020-06-25 18:41:27 +00:00
eulers_totient_function.cpp
extended_euclid_algorithm.cpp
factorial.cpp
fast_power.cpp
fibonacci_fast.cpp formatting source-code for c7ff9d66f1 2020-06-24 17:14:57 +00:00
fibonacci_large.cpp
fibonacci_matrix_exponentiation.cpp Nth fibonacci number using matrix exponentiation (#1215) 2021-02-05 15:12:13 +05:30
fibonacci_sum.cpp feat: Add ncr mod p code (#1325) 2020-11-22 23:05:01 +05:30
fibonacci.cpp fix: math/fibonacci linter warnings. (#1047) 2020-08-25 18:56:49 -05:00
gcd_iterative_euclidean.cpp
gcd_of_n_numbers.cpp
gcd_recursive_euclidean.cpp
integral_approximation.cpp feat: added integral approximation algorithm (#1485) 2021-04-22 22:11:44 +05:30
large_factorial.cpp
large_number.h make multiplication 64-bit 2020-06-22 16:21:57 -04:00
largest_power.cpp feat: largest_power (#1406) 2020-11-25 04:18:50 -05:00
lcm_sum.cpp feat: Add ncr mod p code (#1325) 2020-11-22 23:05:01 +05:30
least_common_multiple.cpp fix: Integer overflow of least_common_multiple. (#970) 2020-07-22 08:01:06 -04:00
linear_recurrence_matrix.cpp feat: Solving linear recurrence using Matrix Exponentiation (with examples). (#1463) 2021-03-17 23:57:51 +05:30
magic_number.cpp Update math/magic_number.cpp 2020-10-27 06:33:29 +05:30
miller_rabin.cpp
modular_division.cpp clang-format and clang-tidy fixes for 7293e15a 2021-01-18 10:45:57 +00:00
modular_exponentiation.cpp feat: Add modular_exponentiation.cpp (#1276) 2020-10-30 01:52:32 +05:30
modular_inverse_fermat_little_theorem.cpp
n_bonacci.cpp Update math/n_bonacci.cpp 2021-07-22 07:29:28 +05:30
n_choose_r.cpp feat: Add ncr mod p code (#1325) 2020-11-22 23:05:01 +05:30
ncr_modulo_p.cpp feat: Add ncr mod p code (#1325) 2020-11-22 23:05:01 +05:30
number_of_positive_divisors.cpp fix, test: simplification and tests for number_of_positive_divisors (#975) 2020-07-24 22:59:49 -04:00
power_for_huge_numbers.cpp
power_of_two.cpp Create power_of_two.cpp (#1315) 2021-02-12 10:14:01 +05:30
prime_factorization.cpp
prime_numbers.cpp
primes_up_to_billion.cpp fix: integer overflow due to multiplication fixed (#886) 2020-06-23 23:50:45 +05:30
README.md
realtime_stats.cpp fix: Various LGTM fixes 2020-06-23 15:13:28 -05:00
sieve_of_eratosthenes.cpp fix, test: Refactor of sieve_of_eratosthenes (#969) 2020-07-23 07:50:38 -04:00
sqrt_double.cpp
string_fibonacci.cpp
sum_of_binomial_coefficient.cpp feat: Add ncr mod p code (#1325) 2020-11-22 23:05:01 +05:30
sum_of_digits.cpp formatting source-code for 9bc80876e8 2020-06-22 12:05:13 +00:00
vector_cross_product.cpp cross product of two vectors (#1292) 2021-02-05 15:13:45 +05:30

Prime factorization

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