Back to Practice Dashboard
Python BasicsEasy

Highest Common Factor(HCF)

Learn how to solve the 'Highest Common Factor(HCF)' problem. This detailed resource details brute force and optimized approaches.

Problem Statement

Easy

Write a function find_hcf(a, b) that takes two positive integers a and b and returns their Highest Common Factor (HCF). The HCF is the largest positive integer that divides both numbers without leaving a remainder.

For example, the HCF of 12 and 18 is 6, because 6 is the largest number that divides both 12 and 18 evenly.

Constraints
  • 1 <= a, b <= 10^6

Examples

Example 1
Input
find_hcf(12, 18)
Output
6
Explanation

Factors of 12: 1, 2, 3, 4, 6, 12. Factors of 18: 1, 2, 3, 6, 9, 18. Common factors: 1, 2, 3, 6. Highest is 6.

Example 2
Input
find_hcf(24, 36)
Output
12
Explanation

Factors of 24: 1, 2, 3, 4, 6, 8, 12, 24. Factors of 36: 1, 2, 3, 4, 6, 9, 12, 18, 36. Highest common factor is 12.

Example 3
Input
find_hcf(7, 13)
Output
1
Explanation

7 and 13 are both prime numbers with no common factors other than 1.

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