# Python program to find HCF or GCD of two numbers

*Summary:*

Problem Description: Write a Python program to find the Highest common factor (HCF) or Greatest Common divisor (GCD) of two numbers.

Description: The HCF of two numbers is the highest number which completely divides both the numbers. HCF and GCD are same things.

Example:

```
Input: 30 50
Output: HCF of 30 and 50 is 10.
Explanation: 10 is highest number which completely divides 30 and 50 and leave remainder 0.
Input: 46 23
Output: HCF of 40 and 23 is 23.
Explanation: 23 is highest number which completely divides 23 and 46 and leave remainder 0.
Input: 17 19
Output: HCF of 17 and 19 is 1.
Explanation: 1 is highest number which completely divides 17 and 19 and leave remainder 0.
```

Hint: Loop through 1 to the smaller number between both. Find the highest number which completely divides both.

Now you got the hint, you should try to write a Python program to find HCF or GCD of two numbers.

## Python Program: Find HCF or GCD of two numbers

hcf.py

Copy

```
#Using loop
def find_hcf(num1, num2):
smallerNum = min(num1, num2)
gcd = 1
for i in range(1, smallerNum+1):
if(num1%i==0 and num2%i==0):
gcd = i
return gcd
num1 = 50
num2 = 40
#num1,num2 = map(int, input("Enter two numbers separated by space:\n").split(" "))
print("GCD of {0} and {1} is {2}".format(num1, num2, find_hcf(num1, num2)))
```

Output

GCD of 50 and 40 is 10

The program implements the same logic as given in the hint.

The function `find_hcf()`

takes two argument `num1`

and `num2`

to calculate HCF or GCD.

The next step is to find the smaller of the two numbers using the min() function.

The inbuilt `min()`

function of Python returns the smallest number of any iterable or elements passed to it.

Then we iterate through 1 to the smaller number among both number (inclusive) and find the highest number which divides them both.

Related Python Examples: