## C program to find the HCF (Highest Common Factor) of given numbers using recursion

Here, we are going to learn how to find the HCF (Highest Common Factor) of given numbers using recursion in C language?
Submitted by Nidhi, on August 03, 2021

Problem Solution:

Read two integer numbers, and find the Highest Common Factor of given numbers.

Program:

The source code to find the HCF (Highest Common Factor) of a given number using recursion is given below. The given program is compiled and executed using GCC compile on UBUNTU 18.04 OS successfully.

```// C program to find the HCF of
// given numbers using recursion

#include <stdio.h>

int calculateHCF(int num1, int num2)
{
while (num1 != num2) {
if (num1 > num2)
return calculateHCF(num1 - num2, num2);
else
return calculateHCF(num1, num2 - num1);
}
return num1;
}

int main()
{
int num1 = 0;
int num2 = 0;

printf("Enter Number1: ");
scanf("%d", &num1);

printf("Enter Number2: ");
scanf("%d", &num2);

printf("The Highest Common Factor is: %d\n", calculateHCF(num1, num2));
}
```

Output:

```RUN 1:
Enter Number1: 10
Enter Number2: 20
The Highest Common Factor is: 10

RUN 2:
Enter Number1: 15
Enter Number2: 225
The Highest Common Factor is: 15

RUN 3:
Enter Number1: 117
Enter Number2: 10
The Highest Common Factor is: 1
```

Explanation:

In the above program, we created two functions calculateHCF() and main(). The calculateHCF() function is a recursive function, which is used to find the Highest Common Factor of specified numbers.

In the main() function, we read two integer numbers num1 and num2 from the user and called the calculateHCF() function, and printed the HCF of given numbers on the console screen.