If a number p is fully divisible by another number q, then q is said to be a factor of p. Here q will be greater than 1 and less than or equal to p.
So, if a number p is fully divisible by another number q and q is a prime number then q is said to be a prime factor of p.
Prime numbers are those numbers that are only divisible by 1 and themselves. In this article, we will see the code to find the prime factors of a number.
For example:
If we take 5, then prime factors will be:
5 = 5
5 is the only prime factor of 5.
If we take 20, then prime factors will be:
20 = 2 * 2 * 5
If we take 210, then prime factors will be:
210 = 2 * 3 * 5 * 7
Now let’s see the code of this problem. In this code, we will be creating two functions. The first function will help us to know if a number is prime or not. And the second function will help us to print the prime factor of a number.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
def isPrime(n): """ Function to return if a number is prime or not Input : A Number Output : Boolean Value True or False """ # If the Number is less than 2, then returns False if n < 2: return False # loop from 2 to n-1, if between this range n is divided by any number # then return False # else return true in the end. for i in range(2, n): if (n % i == 0): return False return True # Function to print the prime factors of a number. def primeFactor(n): """ Function to print the prime factors of a number. Input : Number Output : None. It will print the prime factors from the function only. """ if (n < 2): print("No Prime Factors") return i = 2 # Loop while i is not equal to n while (i < n+1): # if n is divisible by i and i is a prime number then we have to # print the vlaue of i and update the value of n by dividing it by i. # else we just have to increment the value of i by 1. if (n % i == 0 and isPrime(i)): print(i) # print the value of i n = n / i # update the value of n else: i += 1 # Increase the value of i by 1 # Take the number as input from user in the string format number = input("Enter the Number : ") # Convert the string datatype into integer datatype number = int(number) # Call the function to print the prime factors of the inputted number print("Prime Factor : ") primeFactor(number) |
Testcase 1: When the input is 100.
Output:
1 2 3 4 5 6 7 8 |
PS C : \ Users \ ASUS \ Desktop \ Crazy Programmer Work > python -u " c : \ Users \ ASUS \ Desktop \ Crazy Programmer Work \ test.py " Enter the Number : 100 Prime Factor : 2 2 5 5 |
Testcase 2: When the Input is 270270.
Output:
1 2 3 4 5 6 7 8 9 10 11 12 |
PS C : \ Users \ ASUS \ Desktop \ Crazy Programmer Work > python -u " c : \ Users \ ASUS \ Desktop \ Crazy Programmer Work \ test.py " Enter the Number : 270270 Prime Factor : 2 3 3 3 5 7 11 13 |

We have used two functions to create the whole program.
The first function will tell us if a number is prime or not. It takes an integer and returns a Boolean value (True or false).
The second function will help to print the prime factors of a number. It will take an integer as input and print all the prime factors of that input. It returns None because all the printing is done within the function only.