freeCodeCamp/guide/english/certifications/coding-interview-prep/project-euler/problem-5-smallest-multiple/index.md

1.0 KiB

title
Smallest multiple

Problem 5: Smallest multiple

Method:

  • In this challenge we need to find the LCM of 1 to n numbers.
  • To find LCM of a number we use the following formula:
    • lcm
  • To find GCD (Greatest Common Divisor) of two number we use Euclidean algorithm.
  • Once we get LCM of two numbers, we can get LCM of the numbers from 1 to n.

Solution:

//LCM of two numbers
function lcm(a, b){
  return (a*b)/gcd(a, b);
}

//Euclidean recursive algorithm 
function gcd(a, b){
  if (b === 0) return a;
  return gcd(b, a%b);
}

function smallestMult(n){
  let maxLCM = 1;
  
  //Getting the LCM in the range
  for (let i = 2; i <= n; i++){
    maxLCM = lcm(maxLCM, i);
  }
  return maxLCM;
}

References: