mirror of
https://hub.njuu.cf/TheAlgorithms/C-Plus-Plus.git
synced 2023-10-11 13:05:55 +08:00
f7d656cb17
* Add inverse inverse root function
Add inverse inverse root function
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
* Update comment
Update comment
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
* Update math/inv_sqrt.cpp
Change to IO operations
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update math/inv_sqrt.cpp
Update comment
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update math/inv_sqrt.cpp
Update comment
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update math/inv_sqrt.cpp
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update math/inv_sqrt.cpp
Co-authored-by: David Leal <halfpacho@gmail.com>
* Fix fist warning
Fix fist warning
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
* Fix warning N2
Fix warning N2
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
* Fix warning N3
Fix warning N3
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
* Fix warning N4
Fix warning N4
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
* updating DIRECTORY.md
* Update math/inv_sqrt.cpp
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update math/inv_sqrt.cpp
Co-authored-by: David Leal <halfpacho@gmail.com>
* Update math/inv_sqrt.cpp
Co-authored-by: David Leal <halfpacho@gmail.com>
* clang-format and clang-tidy fixes for
|
||
---|---|---|
.. | ||
armstrong_number.cpp | ||
binary_exponent.cpp | ||
binomial_calculate.cpp | ||
check_amicable_pair.cpp | ||
check_factorial.cpp | ||
check_prime.cpp | ||
CMakeLists.txt | ||
complex_numbers.cpp | ||
double_factorial.cpp | ||
eulers_totient_function.cpp | ||
extended_euclid_algorithm.cpp | ||
factorial.cpp | ||
fast_power.cpp | ||
fibonacci_fast.cpp | ||
fibonacci_large.cpp | ||
fibonacci_matrix_exponentiation.cpp | ||
fibonacci_sum.cpp | ||
fibonacci.cpp | ||
gcd_iterative_euclidean.cpp | ||
gcd_of_n_numbers.cpp | ||
gcd_recursive_euclidean.cpp | ||
integral_approximation.cpp | ||
inv_sqrt.cpp | ||
large_factorial.cpp | ||
large_number.h | ||
largest_power.cpp | ||
lcm_sum.cpp | ||
least_common_multiple.cpp | ||
linear_recurrence_matrix.cpp | ||
magic_number.cpp | ||
miller_rabin.cpp | ||
modular_division.cpp | ||
modular_exponentiation.cpp | ||
modular_inverse_fermat_little_theorem.cpp | ||
n_bonacci.cpp | ||
n_choose_r.cpp | ||
ncr_modulo_p.cpp | ||
number_of_positive_divisors.cpp | ||
power_for_huge_numbers.cpp | ||
power_of_two.cpp | ||
prime_factorization.cpp | ||
prime_numbers.cpp | ||
primes_up_to_billion.cpp | ||
README.md | ||
realtime_stats.cpp | ||
sieve_of_eratosthenes.cpp | ||
sqrt_double.cpp | ||
string_fibonacci.cpp | ||
sum_of_binomial_coefficient.cpp | ||
sum_of_digits.cpp | ||
vector_cross_product.cpp |
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