What are Prime Factors? | Maths Explanation for Python Kids
                        Finding prime factors is all about selecting those factors of
                        a number that are prime.
                        The prime factors of 36 as an example, are:
                    
                        In this guide, we'll thoroughly explain prime factorisation and show 
                        how to code a Python algorithm to find prime-factors in a detailed and interactive manner.
                        This Math exercise and Python algorithm will help young students 
                        understand prime factorization by listing all prime factors of a number.
                    
Step-by-step Guide to Prime Factorisation of Numbers in Python
We'll go about the Python algorithm to find prime factors in a simple way:
Step 1:
                        Starting with 2, find the first factor of the number of interest
                        - this factor will definitely be a prime.
                        Store this factor away.
                    
Step 2:
Divide number in question by found factor.
Step 3:
Using result from Step 2 as the new number in question (number whose prime factors we are trying to find), repeat Step 1.
Step 4:
Continue recursively until we arrive at 1.
Step 5:
We'll use the square-root of number range.
                        Create a new Python module file; File, New File.
                        Call it listPrimeFactors.py.
                        
                        Type out the adjoining Python code for finding prime factors.
                    
Now Python functions come in handy, don't they?
Note: You can comment out the Python code for the Arithmetic class from the previous lesson if you have been following.
So! Python Fun Practice Exercise - List Prime Factors
As a fun practice exercise, feel free to try out your own different numbers, and see how the Python code lists the prime factors of those numbers.
Python Code for List Prime Factors - Module File.
# A class
class PrimeFactors:
def __init__(self, val):
self.find_my_factors = val
self.found_prime_factors = []
# takes one argument, the candidate for factorisation
# returns an array reference of the prime factors
def onlyPrimeFactors(self):
self.temp_limit = ceil(sqrt(self.find_my_factors))
# STEP 1:
self.i = 2
while self.i <= self.temp_limit:
# STEP 4:
# avoid an infinite loop with the i != 1 check.
if self.i != 1 and self.find_my_factors % self.i == 0:
self.found_prime_factors.append(self.i)
# STEP 2:
self.find_my_factors = int(self.find_my_factors / self.i)
# STEP 3:
return self.onlyPrimeFactors()
self.i += 1
self.found_prime_factors.append(self.find_my_factors)
return self.found_prime_factors
Python Code for List Prime Factors - Main Class.
from ListPrimeFactors import PrimeFactors
# Use the list prime factors module/class
test_guy = 48
prime_factors = PrimeFactors(test_guy)
print("Prime factorising", test_guy, "gives:\n", str(prime_factors.onlyPrimeFactors()))
print("\n\n")