Skip to content

Instantly share code, notes, and snippets.

@tamim
Created April 27, 2021 12:38
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tamim/5e1b44062c85445a25d6719d66379016 to your computer and use it in GitHub Desktop.
Save tamim/5e1b44062c85445a25d6719d66379016 to your computer and use it in GitHub Desktop.
Python Code to Find All Prime Factors of a Number (Integer)
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