Java Program to Find GCD or HCF of Two Numbers

Last Updated : 17 Mar, 2026

GCD (i.e. Greatest Common Divisor) or HCF (i.e. Highest Common Factor) is the largest number that can divide both the given numbers.

Lightbox

Example:

HCF of 10 and 20 is 10, and HCF of 9 and 21 is 3.

The GCD of two numbers can be efficiently computed using the Euclidean Algorithm. The algorithm is based on the principle that the GCD of two numbers does not change if the smaller number is subtracted from the larger number. A more efficient version uses the modulo operator.

Note: The GCD of two numbers remains unchanged when the smaller number is subtracted from the larger—this is the basis of the Euclidean algorithm.

Java
class GFG {
    // Gcd of x and y using recursive function
    static int GCD(int x, int y)
    {
        // If one number becomes 0, the other number is the GCD
        if (x == 0)
           return y;
           
        if (y == 0)
            return x;

        // Both the numbers are equal
        if (x == y)
            return x;

        // x is greater
        if (x > y)
            return GCD(x - y, y);
        return GCD(x, y - x);
    }

    // The Driver method
    public static void main(String[] args)
    {
        int x = 100, y = 88;
        System.out.println("GCD of " + x + " and " + y
                           + " is " + GCD(x, y));
    }
}

Output
GCD of 100 and 88 is 4

Similarly, you can find the GCD or HCF of any two given numbers.

An efficient solution is to utilize a modulo operator in the Euclidean algorithm which is the foremost algorithm applied for this topic.

Java
class geeksforgeeks {
    // Function to return gcd of x and y
    // recursively
    static int GCD(int x, int y)
    {
        if (y == 0)
            return x;
        return GCD(y, x % y);
    }

    // The Driver code
    public static void main(String[] args)
    {
        int x = 47, y = 91;
        System.out.println("The GCD of " + x + " and " + y
                           + " is: " + GCD(x, y));
    }
}

Output
The GCD of 47 and 91 is: 1
Comment