How do you find the lcm of two numbers in a for loop in python?

In this program, you'll learn to find the LCM of two numbers and display it.

To understand this example, you should have the knowledge of the following Python programming topics:

  • Python while Loop
  • Python Functions
  • Python Function Arguments
  • Python User-defined Functions

The least common multiple [L.C.M.] of two numbers is the smallest positive integer that is perfectly divisible by the two given numbers.

For example, the L.C.M. of 12 and 14 is 84.

Program to Compute LCM

# Python Program to find the L.C.M. of two input number

def compute_lcm[x, y]:

   # choose the greater number
   if x > y:
       greater = x
   else:
       greater = y

   while[True]:
       if[[greater % x == 0] and [greater % y == 0]]:
           lcm = greater
           break
       greater += 1

   return lcm

num1 = 54
num2 = 24

print["The L.C.M. is", compute_lcm[num1, num2]]

Output

The L.C.M. is 216

Note: To test this program, change the values of num1 and num2.

This program stores two number in num1 and num2 respectively. These numbers are passed to the compute_lcm[] function. The function returns the L.C.M of two numbers.

In the function, we first determine the greater of the two numbers since the L.C.M. can only be greater than or equal to the largest number. We then use an infinite while loop to go from that number and beyond.

In each iteration, we check if both the numbers perfectly divide our number. If so, we store the number as L.C.M. and break from the loop. Otherwise, the number is incremented by 1 and the loop continues.

The above program is slower to run. We can make it more efficient by using the fact that the product of two numbers is equal to the product of the least common multiple and greatest common divisor of those two numbers.

Number1 * Number2 = L.C.M. * G.C.D.

Here is a Python program to implement this.

Program to Compute LCM Using GCD

# Python program to find the L.C.M. of two input number

# This function computes GCD 
def compute_gcd[x, y]:

   while[y]:
       x, y = y, x % y
   return x

# This function computes LCM
def compute_lcm[x, y]:
   lcm = [x*y]//compute_gcd[x,y]
   return lcm

num1 = 54
num2 = 24 

print["The L.C.M. is", compute_lcm[num1, num2]]

The output of this program is the same as before. We have two functions compute_gcd[] and compute_lcm[]. We require G.C.D. of the numbers to calculate its L.C.M.

So, compute_lcm[] calls the function compute_gcd[] to accomplish this. G.C.D. of two numbers can be calculated efficiently using the Euclidean algorithm.

Click here to learn more about methods to calculate G.C.D in Python.

LCM stands for Least Common Multiple. The LCM of two numbers is the smallest number that can be divided by both numbers.

For example - LCM of 20 and 25 is 100 and LCM of 30 and 40 is 120.

Mathematically, LCM of two numbers [a and b] can be expressed as below:

a x b = LCM[a, b] x GCD[a, b]

LCM[a, b] = [a x b] / GCD[a, b]


Method 1: Using For Loop to find GCD and LCM of two numbers

In the example below, for loop is used to iterate the variable i from 0 to the smaller number. If both numbers are divisible by i, then it modifies the GCD and finally gives the GCD of two numbers. GCD of two numbers is then used to calculate LCM of two numbers.

x = 20
y = 25
if x > y:
  x, y = y, x
for i in range[1,x+1]:
  if x%i == 0 and y%i == 0:
    gcd = i

lcm = [x*y]/gcd

print["LCM of", x, "and", y, "is:", lcm]

The above code will give the following output:

LCM of 20 and 25 is: 100.0


Method 2: Using While Loop to find GCD and LCM of two numbers

In the example below, larger number is replaced by a number which is calculated by subtracting the smaller number from the larger number. The process is continued until the two numbers become equal which will be GCD of two numbers. GCD of two numbers is then used to calculate LCM of two numbers.

p = x = 20
q = y = 25
while x != y:
  if x > y:
    x = x - y
  else:
    y = y - x

lcm = [p*q]/x

print["LCM of", p, "and", q, "is:", lcm]

The above code will give the following output:

LCM of 20 and 25 is: 100.0


Method 3: Using the recursive function to find GCD and LCM of two numbers

In the example below, recursive function is used which uses Euclidean algorithm to find GCD of two numbers which is further used to calculate LCM of two numbers.

def gcd[x, y]:
  if y == 0:
    return x
  return gcd[y, x%y]

x = 30
y = 40

lcm = [x*y]/gcd[x,y]

print["LCM of", x, "and", y, "is:", lcm]

The above code will give the following output:

LCM of 30 and 40 is: 120.0


Method 4: Using gcd[] function of math module

The LCM of two numbers can be calculated using gcd[] function of math module. Consider the following example.

import math as ma

x = 80
y = 100

lcm = [x*y]/ma.gcd[x,y]

print["LCM of", x, "and", y, "is:", lcm]

The above code will give the following output:

LCM of 80 and 100 is: 400.0


Method 5: Using lcm[] function of math module

Please note that, the lcm[] function is added in version 3.9.

import math as ma

x = 80
y = 100

lcm = ma.lcm[x, y]

print["LCM of", x, "and", y, "is:", lcm]

The above code will give the following output:

LCM of 80 and 100 is: 400.0



Recommended Pages

  • Python Program - To Check Prime Number
  • Python Program - Bubble Sort
  • Python Program - Selection Sort
  • Python Program - Maximum Subarray Sum
  • Python Program - Reverse digits of a given Integer
  • Python - Swap two numbers
  • Python Program - Fibonacci Sequence
  • Python Program - Insertion Sort
  • Python Program - Find Factorial of a Number
  • Python Program - Find HCF of Two Numbers
  • Python Program - To Check Whether a Number is Palindrome or Not
  • Python Program - To Check Whether a String is Palindrome or Not
  • Python Program - Heap Sort
  • Python Program - Quick Sort
  • Python - Swap Two Numbers without using Temporary Variable
  • Python Program - To Check Armstrong Number
  • Python Program - Counting Sort
  • Python Program - Radix Sort
  • Python Program - Find Largest Number among Three Numbers
  • Python Program - Print Floyd's Triangle

How do you find the LCM of a for loop?

Solution :-.
int num1, num2, max;.
printf["Enter Two Positive Integers :\n"];.
scanf["%d %d", &num1, &num2];.
max=[num1>num2] ? num1 : num2;.
while[1].
if[max%num1==0 && max%num2==0].

How do you write a Python program to find the LCM of two numbers?

Method 1 : Python Code. Run num1 = 12 num2 = 14 for i in range[max[num1, num2], 1 + [num1 * num2]]: if i % num1 == i % num2 == 0: lcm = i break print["LCM of", num1, "and", num2, "is", lcm] ... .
Method 2 : Python Code. ... .
Method 3 : Python Code. ... .
Method 4 : Python Code. ... .
Method 6 : Python Code..

How do you find the LCM of a number in Python?

num1 = int[input["Enter first number: "]] num2 = int[input["Enter second number: "]] # printing the result for the users. print["The L.C.M. of", num1,"and", num2,"is", calculate_lcm[num1, num2]]

How do you find the LCM of 2 digits?

Therefore, the formula to find LCM of two numbers is, LCM of two numbers = product of two numbers ÷ HCF of two numbers. Note: The LCM of two co-prime numbers is equal to the product of co-prime numbers because the highest common factor of prime numbers is 1.

Chủ Đề