In this post, we will write a Python program to find factors of a number with a detailed explanation and example.
But before we jump into the programming part, let’s understand the mathematical approach to finding factors of a given number.
How to Find Factors of a Given Number
Factors of a given number is a number that divides the given number without leaving any remainder.
For Example, the factors of 12 are 1, 2, 3, 4, 6, and 12 because these numbers divide 12 without leaving any remainder.
Now that we know how to find factors of a given number, let’s discuss how we can implement it in programming with the help of an algorithm.
Algorithm
- Take input from the user (
num
). - Using loop iterate from 1 to
num
(for i in range(1,num+1)
). - Inside the loop check
if num % i == 0
thenprint(i)
. - End program
From the above Example and algorithm, we know how to implement a Python program to find factors of a given number.
But before writing the program here is a list of prerequisites that you have to know for this program.
Source Code
num = int(input("Enter a number: "))
print(f"Factors of {num} is :", end=" ")
for i in range(1, num+1):
if num % i == 0:
print(i, end=",")
Output
Enter a number: 12
Factor of 12 is : 1,2,3,4,6,12,
We can also write the above program using a while-loop.
Python Program to Find Factors of a Number Using while loop
Before writing this program, there are a few programming concepts you need to know:
Source Code
num = int(input("Enter a number: "))
print(f"Factors of {num} is :", end=" ")
i = 1
while i <= num:
if num % i == 0:
print(i,end=",")
i = i+1
Output
Enter a number: 24
Factors of 24 is : 1,2,3,4,6,8,12,24,
For the practice of Python programming concepts let’s modify the above program and write it using Function.
Python Program to Find Factors of a Number Using Function
Before writing this program, there are a few programming concepts you need to know:
Source Code
def factors(n):
for i in range(1,n+1):
if n % i == 0:
print(i, end=",")
num = int(input("Enter a number: "))
print(f"Factors of {num} is :", end=" ")
factors(num) # Calling a Function
Output
Enter a number: 36
Factors of 36 is : 1,2,3,4,6,9,12,18,36,