Java Program to Find G.C.D Using Recursion

In this program, you'll learn to find the GCD (Greatest Common Divisor) or HCF using a recursive function in Java.

This program takes two positive integers and calculates GCD using recursion.

Visit this page to learn how you can calculate the GCD using loops.

Example: GCD of Two Numbers using Recursion

public class GCD {

    public static void main(String[] args) {
        int n1 = 366, n2 = 60;
        int hcf = hcf(n1, n2);

        System.out.printf("G.C.D of %d and %d is %d.", n1, n2, hcf);

    public static int hcf(int n1, int n2)
        if (n2 != 0)
            return hcf(n2, n1 % n2);
            return n1;

When you run the program, the output will be:

G.C.D of 366 and 60 is 6.

In the above program, the recursive function is called until n2 is 0. In the end, the value of n1 is the GCD or HCF of the given two numbers.

Execution Steps
No. Recursive call n1 n2 n1 % n2
1 hcf(366, 60) 366 60 6
2 hcf(60, 6) 60 6 0
Final hcf(6, 0) 6 0 -