-
-
Save tamim/5e1b44062c85445a25d6719d66379016 to your computer and use it in GitHub Desktop.
Python Code to Find All Prime Factors of a Number (Integer)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from math import sqrt | |
def get_prime_factors(number): | |
prime_factors = [] | |
while number % 2 == 0: | |
number = number // 2 | |
prime_factors.append(2) | |
sqr_root = int(sqrt(number)) | |
for i in range(3, sqr_root+1, 2): | |
while number % i == 0: | |
number = number // i | |
prime_factors.append(i) | |
if number > 1: | |
prime_factors.append(number) | |
return prime_factors | |
if __name__ == "__main__": | |
n = 8 | |
expected_ans = [2, 2, 2] | |
factors = get_prime_factors(n) | |
assert expected_ans == factors, factors | |
print(factors) | |
n = 10 | |
expected_ans = [2, 5] | |
factors = get_prime_factors(n) | |
assert expected_ans == factors, factors | |
print(factors) | |
n = 99 | |
expected_ans = [3, 3, 11] | |
factors = get_prime_factors(n) | |
assert expected_ans == factors, factors | |
print(factors) | |
n = 101 | |
expected_ans = [101] | |
factors = get_prime_factors(n) | |
assert expected_ans == factors, factors | |
print(factors) | |
n = 1 | |
expected_ans = [] | |
factors = get_prime_factors(n) | |
assert expected_ans == factors, factors | |
print(factors) | |
n = 25 | |
expected_ans = [5, 5] | |
factors = get_prime_factors(n) | |
assert expected_ans == factors, factors | |
print(factors) | |
n = 2 | |
expected_ans = [2] | |
factors = get_prime_factors(n) | |
assert expected_ans == factors, factors | |
print(factors) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment