Back to Practice Dashboard
Python BasicsEasy

Greatest Common Divisor

Learn how to solve the 'Greatest Common Divisor' problem. This detailed resource details brute force and optimized approaches.

Problem Statement

Easy

Write a function gcd(a, b) that takes two non-negative integers a and b (not both zero) and returns their Greatest Common Divisor (GCD) using the Euclidean algorithm. The GCD is the largest number that divides both a and b.

The Euclidean algorithm works by repeatedly replacing the larger number with the remainder of dividing the larger by the smaller, until the remainder is 0. The last non-zero remainder is the GCD.

Constraints
  • 0 <= a, b <= 10^6
  • a and b are not both zero

Examples

Example 1
Input
gcd(48, 18)
Output
6
Explanation

48 % 18 = 12, then 18 % 12 = 6, then 12 % 6 = 0. So GCD is 6.

Example 2
Input
gcd(56, 98)
Output
14
Explanation

98 % 56 = 42, 56 % 42 = 14, 42 % 14 = 0. So GCD is 14.

Example 3
Input
gcd(0, 5)
Output
5
Explanation

GCD(0, n) = n for any positive n.

Need a Hint?
Use simple arithmetic operators (like modulo `%`, division `//`), conditional checks, or loops to inspect number properties.
Edge Cases to Watch
  • Empty list or null input variables
  • Single item lists/arrays
  • Extremely large input bounds causing integer or stack overflow

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor