AFON // радиотехник affonya@mail.ru
← Все проекты JavaScript

НОД и НОК

Наибольший общий делитель и наименьшее общее кратное.

JS.08 · Основы

Задача

Найти НОД и НОК двух чисел.

Алгоритм

НОД по Евклиду: gcd(a,b)=gcd(b, a mod b). НОК = a/НОД·b.

Исходный код

⇩ Скачать 08-algoritm-evklida.js

// НОД и НОК (алгоритм Евклида)
const gcd = (a, b) => (b ? gcd(b, a % b) : a);
const lcm = (a, b) => (a / gcd(a, b)) * b;

console.log('НОД(48, 36) =', gcd(48, 36));
console.log('НОК(4, 6)   =', lcm(4, 6));

Пояснения

Рекурсивная стрелочная функция читается почти как математическая формула.