1.4 KiB
1.4 KiB
title | localeTitle |
---|---|
Smallest multiple | Наименьшее количество |
Проблема 5: Наименьшая множественность
Метод:
- В этой задаче нам нужно найти LCM от 1 до n чисел.
- Чтобы найти 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;
}