Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

HCF and LCM Coding

EasyPython00:00
Practice interviewer
In session
5 left
00:00

Your question is HCF and LCM Coding. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

A Securly service may need to align recurring policy checks or reporting intervals. Given two integers, compute their highest common factor, also called the greatest common divisor, and their least common multiple efficiently.

Formal Specification

Implement hcf_lcm(a, b), where a and b are integers. Return a two-element list [hcf, lcm] containing non-negative values. Define hcf(0, 0) as 0, and define the LCM as 0 when either input is zero. Negative inputs should be treated by their absolute values.

Use the Euclidean algorithm for the HCF. Then derive the LCM from the relationship lcm(a, b) = abs(a * b) // hcf(a, b) when the HCF is nonzero. Avoid enumerating all possible factors or multiples.

Constraints

  • -10^9 <= a, b <= 10^9
  • Return a two-element list containing [hcf, lcm].
  • HCF and LCM must be non-negative.
  • For this problem, hcf(0, 0) is defined as 0.
  • Do not enumerate factors or multiples.

Function Signature

def hcf_lcm(a, b):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output