Python Examples

Python Program - Find GCD of Two Numbers



GCD stands for Greatest Common Divisor. The GCD of two numbers is the largest number that divides both of them.

For example - GCD of 20 and 25 is 5, and GCD of 50 and 100 is 50.

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

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

x = 50
y = 100
if x > y:
  x, y = y, x
for i in range(1,x+1):
  if x%i == 0 and y%i == 0:
    gcd = i

print("GCD of", x, "and", y, "is:", gcd)

The above code will give the following output:

GCD of 50 and 100 is: 50

Method 2: Using While Loop to find GCD 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.

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

print("GCD of", p, "and", q, "is:", x)

The above code will give the following output:

GCD of 20 and 25 is: 5

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

In the example below, recursive function is used. In this method, instead of using subtraction operator(as in above example), modulo operator is used. This method is also known as Euclidean algorithm.

def gcd(x, y):
  if y == 0:
    return x
  return gcd(y, x%y)

x = 250
y = 475

print("GCD of", x, "and", y, "is:", gcd(x,y))

The above code will give the following output:

GCD of 250 and 475 is: 25

Method 4: Using gcd function of math module

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

import math as ma

x = 80
y = 100

print("GCD of", x, "and", y, "is:", ma.gcd(x,y))

The above code will give the following output:

GCD of 80 and 100 is: 20