Python Program to Find the GCD of Two Numbers using Recursion

1. Introduction

The GCD of two numbers is the largest number that can divide both numbers without leaving a remainder. The recursive approach to finding the GCD of two numbers a and b is based on the Euclidean algorithm, which states that the GCD of a and b is the same as the GCD of b and the remainder of the division of a by b, and this process is repeated until the remainder is zero.

2. Program Steps

1. Define a function that calculates the GCD of two numbers using recursion.

2. If the second number is zero, return the first number as the GCD.

3. Otherwise, recursively call the function with the second number and the remainder of the division of the first number by the second number.

4. Print the result.

3. Code Program

# Function to find GCD of two numbers using recursion
def gcd(a, b):
    # If the second number is zero, return the first number
    if b == 0:
        return a
    # Recursively call gcd with the second number and the remainder of a divided by b
    return gcd(b, a % b)

# Two numbers to find the GCD of
num1 = 48
num2 = 18
# Calculate the GCD
gcd_result = gcd(num1, num2)
# Print the GCD
print(f"The GCD of {num1} and {num2} is: {gcd_result}")

Output:

The GCD of 48 and 18 is: 6

Explanation:

1. The function gcd takes two integers a and b.

2. If b is 0, a is returned as the GCD, since the divisor has been found.

3. If b is not 0, the function calls itself (gcd) with b and a % b as new parameters, applying the Euclidean algorithm.

4. This recursive call continues until b becomes 0.

5. num1 and num2 are set to 48 and 18, and gcd is called with these values.

6. The final result, which is 6, is stored in gcd_result.

7. An f-string is used to format the printed message, which clearly states the GCD of 48 and 18.

Comments