C Program to Find G.C.D Using Recursion

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

This program takes two positive integers as input from the user and calculates GCD using recursion.

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

GCD of Two Numbers using Recursion

#include <stdio.h>
int hcf(int n1, int n2);
int main() {
    int n1, n2;
    printf("Enter two positive integers: ");
    scanf("%d %d", &n1, &n2);
    printf("G.C.D of %d and %d is %d.", n1, n2, hcf(n1, n2));
    return 0;

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


Enter two positive integers: 366
G.C.D of 366 and 60 is 6.

In this program, recursive calls are made until the value of n2 is equal to 0.

Did you find this article helpful?