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

1.4 KiB
Raw Blame History

title localeTitle
Smallest multiple Наименьшее количество

Проблема 5: Наименьшая множественность

Метод:

  • В этой задаче нам нужно найти LCM от 1 до n чисел.
  • Чтобы найти LCM числа, мы используем следующую формулу:
  • LCM
  • Чтобы найти GCD (Greatest Common Divisor) из двух чисел, мы используем алгоритм Евклида.
  • Как только мы получим LCM двух чисел, мы можем получить LCM чисел от 1 до n.

Решение:

//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; 
 } 

Рекомендации: