# C++ Program to Find GCD

In this example, we will learn Examples on different ways to calculate GCD of two integers (for both positive and negative integers) using loops and decision making statements.

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

## GCD or HCF

The largest integer which can perfectly divide two integers is known as GCD or HCF of those two numbers.

## Example 1: Program to Find GCD using while loop

```
#include <iostream>
using namespace std;
int main()
{
int n1, n2;
cout << "Enter two numbers: ";
cin >> n1 >> n2;
while(n1 != n2)
{
if(n1 > n2)
n1 -= n2;
else
n2 -= n1;
}
cout << "HCF = " << n1;
return 0;
}
```

**Output**

Enter two numbers: 12 52 HCF = 4

##### Working

In above program, smaller number is subtracted from larger number and that number is stored in place of larger number.

This process is continued until, two numbers become equal which will be HCF.

## Example 2: Program to Find HCF using for loop

```
#include <iostream>
using namespace std;
int main() {
int n1, n2, hcf;
cout << "Enter two numbers: ";
cin >> n1 >> n2;
// Swapping variables n1 and n2 if n2 is greater than n1.
if ( n2 > n1) {
int temp = n2;
n2 = n1;
n1 = temp;
}
for (int i = 1; i <= n2; ++i) {
if (n1 % i == 0 && n2 % i ==0) {
hcf = i;
}
}
cout << "HCF = " << hcf;
return 0;
}
```

**Output **

Enter two numbers: 24 4 HCF = 4

##### Working

- The logic of this program is simple.
- In this program, small integer between
`n1`and`n2`is stored in`n2`. - Then the loop is iterated from
`i = 1`

to`i <= n2`

and in each iteration, value of`i`is increased by 1. - If both numbers are divisible by
`i`then, that number is stored in variable`hcf`. - When the iteration is finished, HCF will be stored in variable
`hcf`.

## Next Example

We hope that this Example helped you develop better understanding of the concept of "Find GCD" in C++.

**Keep Learning : )**

In the next Example, we will learn about C++
`Program to Find LCM`

.