TheAlgorithms-C-Plus-Plus/math
Neeraj C 1d7a73ea58
feat: add check_amicable_pair.cpp (#879)
* feat: add check_amicable_pair.cpp

* fix: space between else and brace.

* fix: spaces between tokens

* fix: removed sqrt and test func combined to single

* docs: removed wiki link

Co-authored-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>

* docs: add markdown syntax for wikipedia link

Co-authored-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>

* docs: change brief to details in comment

Line 7

Co-authored-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>

* docs: typo fixed

Co-authored-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>

* docs: removed extra line

Co-authored-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>

* docs: removed copyright

Co-authored-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>

* docs: add author name

Co-authored-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>

* fix: shortened the code in is_amicable()

Co-authored-by: David Leal <halfpacho@gmail.com>

* fix: changed is_amicable to are_amicable

* docs: cleared unwanted line

Co-authored-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>

Co-authored-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>
Co-authored-by: David Leal <halfpacho@gmail.com>
2020-06-24 01:03:42 +05:30
..
binary_exponent.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
check_amicable_pair.cpp feat: add check_amicable_pair.cpp (#879) 2020-06-24 01:03:42 +05:30
check_prime.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
CMakeLists.txt Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
complex_numbers.cpp fix: Readability issues 2020-06-23 19:43:56 +01:00
double_factorial.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
eulers_totient_function.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
extended_euclid_algorithm.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
factorial.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
fast_power.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
fibonacci_fast.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
fibonacci_large.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
fibonacci.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
gcd_iterative_euclidean.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
gcd_of_n_numbers.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
gcd_recursive_euclidean.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
large_factorial.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
large_number.h make multiplication 64-bit 2020-06-22 16:21:57 -04:00
least_common_multiple.cpp feat: Added a function for finding the least common multiple (#840) 2020-06-13 04:17:32 +05:30
miller_rabin.cpp formatting source-code for a48d05fb62 2020-06-21 17:42:09 +00:00
modular_inverse_fermat_little_theorem.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
number_of_positive_divisors.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
power_for_huge_numbers.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
prime_factorization.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
prime_numbers.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
primes_up_to_billion.cpp fix: integer overflow due to multiplication fixed (#886) 2020-06-23 23:50:45 +05:30
README.md Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
realtime_stats.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
sieve_of_eratosthenes.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
sqrt_double.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
string_fibonacci.cpp Major rework to improve code quality and add automation checks (#805) 2020-06-19 21:34:56 +05:30
sum_of_digits.cpp formatting source-code for 9bc80876e8 2020-06-22 12:05:13 +00:00

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