mirror of
https://hub.njuu.cf/TheAlgorithms/C-Plus-Plus.git
synced 2023-10-11 13:05:55 +08:00
a41b707919
* Setup general integral aprroximation algorithm template * feat: added integral approximation algorithm * updating DIRECTORY.md * feat: added integral approximation algorithm * test: added tests for integral approximation algorithm * docs: added comments and explanation for integral approximation algorithm * fix: updated for loop within algorithm * fix: data type conversions * Modified dividing by 2 Maintains functionality but dividing by 2 is easier to read/understand * Update math/integral_approximation.cpp Co-authored-by: David Leal <halfpacho@gmail.com> * Update math/integral_approximation.cpp Co-authored-by: David Leal <halfpacho@gmail.com> * Update math/integral_approximation.cpp Co-authored-by: David Leal <halfpacho@gmail.com> * Update math/integral_approximation.cpp Co-authored-by: David Leal <halfpacho@gmail.com> * Update math/integral_approximation.cpp Co-authored-by: David Leal <halfpacho@gmail.com> * fix: Apply suggestions from code review * fix: Apply suggestions from code review * fix: Apply suggestions from code review * fix: Apply suggestions from code review * fix: Apply suggestions from code review * fix: Apply suggestions from code review * fix: Apply suggestions from code review * fix: Apply suggestions from code review * fix: Apply suggestions from code review * fix: Apply suggestions from code review * fix: Apply suggestions from code review * feat: added Wikipedia link and detailed description * fix: Apply suggestions from code review * Update math/integral_approximation.cpp Co-authored-by: David Leal <halfpacho@gmail.com> * Update math/integral_approximation.cpp Co-authored-by: David Leal <halfpacho@gmail.com> * Update math/integral_approximation.cpp Co-authored-by: David Leal <halfpacho@gmail.com> * style: updated what the library/header is for * docs: Update math/integral_approximation.cpp Co-authored-by: David Leal <halfpacho@gmail.com> * fix: changed int to uint64_t * Update math/integral_approximation.cpp Co-authored-by: David Leal <halfpacho@gmail.com> Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Co-authored-by: Shiqi Sheng <shiqisheng00@gmail.com> Co-authored-by: David Leal <halfpacho@gmail.com> |
||
---|---|---|
.. | ||
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 | ||
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_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