# Program to find HCF iteratively

HCF (Highest Common Factor) or GCD (Greatest Common Divisor) of two numbers is the largest number that divides both of them.

For example GCD of 20 and 28 is 4 and GCD of 98 and 56 is 14.

We have discussed recursive solution in below post.Recursive program to find GCD or HCF of two numbers

Below is iterative implementation of Euclid’s algorithm

## C/C++

`// C program to find HCF of two ` `// numbers iteratively. ` `#include <stdio.h> ` ` ` `int` `hcf(` `int` `a, ` `int` `b) ` `{ ` ` ` `while` `(a != b) { ` ` ` `if` `(a > b) ` ` ` `a = a - b; ` ` ` `else` ` ` `b = b - a; ` ` ` `} ` ` ` `return` `a; ` `} ` `int` `main() ` `{ ` ` ` `int` `a=60, b=96; ` ` ` `printf` `(` `"%d\n"` `, hcf(a, b)); ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// JAVA Code for Program to find ` `// HCF iteratively ` `import` `java.util.*; ` ` ` `class` `GFG { ` ` ` ` ` `static` `int` `hcf(` `int` `a, ` `int` `b) ` ` ` `{ ` ` ` `while` `(a != b) ` ` ` `{ ` ` ` `if` `(a > b) ` ` ` `a = a - b; ` ` ` `else` ` ` `b = b - a; ` ` ` `} ` ` ` `return` `a; ` ` ` `} ` ` ` ` ` `/* Driver program */` ` ` `public` `static` `void` `main(String[] args) ` ` ` `{ ` ` ` `int` `a=` `60` `, b=` `96` `; ` ` ` `System.out.println(hcf(a, b)); ` ` ` ` ` `} ` `} ` ` ` `// This code is contributed by Arnav Kr. Mandal. ` |

*chevron_right*

*filter_none*

## Python3

`/` `/` `Python program to find HCF of two ` `/` `/` `numbers iteratively. ` `def` `hcf(a, b): ` ` ` `while` `(a !` `=` `b): ` ` ` `if` `(a > b): ` ` ` `a ` `=` `a ` `-` `b ` ` ` `else` `: ` ` ` `b ` `=` `b ` `-` `a ` ` ` `return` `a ` ` ` `a ` `=` `60` `b ` `=` `96` `print` `(hcf(a, b)) ` |

*chevron_right*

*filter_none*

## C#

`// C# Code for Program to find ` `// HCF iteratively ` `using` `System; ` ` ` `class` `GFG { ` ` ` ` ` `static` `int` `hcf(` `int` `a, ` `int` `b) ` ` ` `{ ` ` ` `while` `(a != b) ` ` ` `{ ` ` ` `if` `(a > b) ` ` ` `a = a - b; ` ` ` `else` ` ` `b = b - a; ` ` ` `} ` ` ` `return` `a; ` ` ` `} ` ` ` ` ` `// Driver program ` ` ` `public` `static` `void` `Main() ` ` ` `{ ` ` ` `int` `a = 60, b = 96; ` ` ` `Console.WriteLine(hcf(a, b)); ` ` ` ` ` `} ` `} ` ` ` `// This code is contributed by vt_m. ` |

*chevron_right*

*filter_none*

## PHP

`<?php ` `//PHP program to find HCF of two ` `// numbers iteratively. ` ` ` `function` `hcf(` `$a` `, ` `$b` `) ` `{ ` ` ` `while` `(` `$a` `!= ` `$b` `) { ` ` ` `if` `(` `$a` `> ` `$b` `) ` ` ` `$a` `= ` `$a` `- ` `$b` `; ` ` ` `else` ` ` `$b` `= ` `$b` `- ` `$a` `; ` ` ` `} ` ` ` ` ` `return` `$a` `; ` `} ` ` ` `// Driver code ` `$a` `= 60; ` `$b` `= 96; ` `echo` `hcf(` `$a` `, ` `$b` `), ` `"\n"` `; ` ` ` `// This code is contributed by ajit ` `?> ` |

*chevron_right*

*filter_none*

Output:

12

## Recommended Posts:

- Program to find sum of 1 + x/2! + x^2/3! +...+x^n/(n+1)!
- Program to find the sum of a Series 1/1! + 2/2! + 3/3! + 4/4! +.......+ n/n!
- Program to find sum of series 1 + 1/2 + 1/3 + 1/4 + .. + 1/n
- Program to find greater value between a^n and b^n
- Program to find LCM of 2 numbers without using GCD
- Program to find the last two digits of x^y
- Program to find the Depreciation of Value
- Program to find LCM of two numbers
- Program to find GCD or HCF of two numbers
- Program to find last two digits of 2^n
- Program to find the sum of the series (1/a + 2/a^2 + 3/a^3 + ... + n/a^n)
- Program to find the value of sin(nΘ)
- Program to Find the value of cos(nΘ)
- Program to find Sum of the series 1*3 + 3*5 + ....
- Program to find the value of tan(nΘ)

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.