Python Program to Find LCM and HCF (GCD) of Two Numbers

This article is created to cover some programs in Python, that find and prints LCM and HCF (GCD) of two numbers entered by user. Here are the list of programs:

How to Find LCM/HCF ?

If you don't know the thing used to find LCM or HCF (GCD), then you can refer to any of the following, whatever you required, to get everything about the topic:

Note - LCM stands for Least Common Multiple. Whereas HCF stands for Highest Common Factor.

Find LCM of Two Numbers

To find LCM of two numbers in Python, you have to ask from user to enter any two numbers, then find and print the LCM value as shown in the program given below. The question is, write a Python program to find LCM of two numbers. Here is its answer:

print("Enter Two Numbers: ")
numOne = int(input())
numTwo = int(input())

if numOne>numTwo:
    lcm = numOne
else:
    lcm = numTwo

while True:
    if lcm%numOne==0 and lcm%numTwo==0:
        break
    else:
        lcm = lcm + 1

print("\nLCM =", lcm)

Here is the initial output produced by this Python program:

find hcf lcm python

Now supply inputs say 8 as first number, then press ENTER key, again enter a number say 20 as second number, now press ENTER key to find and print LCM value of these two numbers as shown in the snapshot given below:

print hcf and lcm python

The dry run of above program with same user input as provided in sample run, goes like:

Modified Version of Previous Program

This is the modified version of previous program. This program uses end to skip inserting an automatic newline using print(). The str() converts any type of value to a string type. The try-except is used to handle and print error message, when user enters non-integer values.

print("Enter Two Numbers: ", end="")
try:
    nOne = int(input())
    try:
        nTwo = int(input())
        if nOne > nTwo:
            lcm = nOne
        else:
            lcm = nTwo
        while True:
            if lcm % nOne == 0 and lcm % nTwo == 0:
                break
            else:
                lcm = lcm + 1
        print("\nLCM (" + str(nOne) + ", " + str(nTwo)+") = ", lcm)
    except ValueError:
        print("\nInvalid Input!")
except ValueError:
    print("\nInvalid Input!")

Here is its sample run with user input, 23 and 4 as two numbers:

python find hcf and lcm

Find HCF (GCD) of Two Numbers

This program is created to find and print the value of HCF or GCD of two numbers entered by user at run-time:

print("Enter Two Numbers: ", end="")
no = int(input())
nt = int(input())

if no>nt:
    hcf = no
else:
    hcf = nt

while True:
    if no%hcf==0 and nt%hcf==0:
        break
    else:
        hcf = hcf - 1

print("\nHCF (" + str(no) + ", " + str(nt) + ") = ", hcf)

Here is its sample run with 10 and 12 as two numbers entered by user:

python find hcf of two numbers

Find LCM and HCF using Formula

This program uses formula to find and print LCM and HCF both in a single program:

print("Enter Two Numbers: ", end="")
no = int(input())
nt = int(input())

a = no
b = nt
while b!=0:
    temp = b
    b = a%b
    a = temp

hcf = a
lcm = int((no*nt)/hcf)

print("\nLCM (" + str(no) + ", " + str(nt) + ") = ", lcm)
print("HCF (" + str(no) + ", " + str(nt) + ") = ", hcf)

Here is its sample run with two numbers input as 7 and 56:

python find lcm gcd of two numbers

Same Program in Other Languages

Python Online Test


« Previous Program Next Program »