GCD (Greatest Common Divisor) Practice Problems for Competitive Programming

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

GCD (Greatest Common Divisor)

Fastest way to compute GCD

The fastest way to find the Greatest Common Divisor (GCD) of two numbers is by using the Euclidean algorithm. The Euclidean algorithm is an efficient and widely used method for GCD calculation. It used to compute GCD of two numbers in O(log(min(a,b)).

It uses recursion to repeatedly replace a with b and b with the remainder of a divided by b until b becomes zero, returning a as the GCD. This approach is concise and efficient for GCD calculation.

Below is the code snippet for above algorithm:

C++




int gcd (int a, int b) {
    if (b == 0)
        return a;
    else
        return gcd (b, a % b);
}


Java




public static int gcd(int a, int b) {
    if (b == 0)
        return a;
    else
        return gcd(b, a % b);
}


Python3




def gcd(a, b):
    if b == 0:
        return a
    else:
        return gcd(b, a % b)


C#




using System;
 
int Gcd(int a, int b)
{
    if (b == 0)
        return a;
    else
        return Gcd(b, a % b);
}


Javascript




function gcd(a, b) {
    if (b === 0) {
        return a;
    } else {
        return gcd(b, a % b);
    }
}


Problems identification that involve GCD (Greatest Common Divisor)

GCD (Greatest Common Divisor) problems can vary in complexity and application, but they generally involve finding the greatest common divisor of one or more integers or applying GCD properties to solve a specific problem. Here are some common types of problems that involve GCD:

  • Problems that require to determine if one number is divisible by another may involve GCD, as GCD is related to the greatest common factor of two numbers.
  • Many number theory problems which related to coprime numbers, relatively prime numbers, or Euler’s totient function, involve GCD calculation.
  • Consider whether the problem hints about the need to factorize numbers into their prime factors. GCD problems sometimes involve prime factorization to find common factors efficiently.
  • In graph theory, GCD can be used in problems related to connected components, in which a edge between the nodes will only exist if they are not co-prime.

Here is a list of the Top GCD Problems for practice. Problems in this Article are divided into three Levels to practice according to the difficulty level step by step.

Easy Level Problems on GCD

Medium Level Problems on GCD

Hard Level Problems on GCD

Contact Us