From a6800c6ce45a6ce620b2f75e7892c4d86c85b8fc Mon Sep 17 00:00:00 2001 From: Prathima Kadari Date: Sat, 22 May 2021 18:34:06 +0530 Subject: [PATCH] Added prime factorization program --- primefactorization.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 primefactorization.py diff --git a/primefactorization.py b/primefactorization.py new file mode 100644 index 0000000..85cc24d --- /dev/null +++ b/primefactorization.py @@ -0,0 +1,24 @@ +import math + +def main(): + print("Generating the prime factors of a given number.") + num = int(input("\nEnter a number: ")) + +def prime_factors(n): + count = 0 + + while n % 2 == 0: #Dividing the number as many times as possible by 2. + print(2) + n /= 2 + count += 1 + + #Dividing the number by all possible odd numbers (now that the number is no longer an even number). + for num in range(3,int(math.sqrt(n)+1), 2): + while n % num == 0: #As many times as possible by each number. + print(num) + n /= num + count += 1 + + if count == 0: # In essence, if none of the loops have ever been executed. Will happen only in case of odd primes. + print(int(n)) +prime_factors(num)