English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массив

Java Ориентирован на объекты (I)

Java Ориентирован на объекты (II)

Java Ориентирован на объекты (III)

Обработка исключений Java

Java Список (List)

Java Queue (очередь)

Java Map коллекция

Java Set коллекция

Java Вход/Выход (I/O)

Java Reader/Writer

Другие темы Java

Java программа для поиска наименьшей общей кратной двух чисел

Java полный список примеров

В этой программе вы узнаете, как использовать Java программу для поиска наименьшей общей кратной двух чисел. Это делается с помощью циклов for и while в Java.

LCM двух целых чисел - это наименьшее положительное целое число, которое делится на оба числа без остатка.

Пример 1: использование while цикла и if оператора для LCM

public class LCM {
    public static void main(String[] args) {
        int n1 = 72, n2 = 120, lcm;
        // максимальное значение между n1 и n2 хранится в lcm
        lcm = (n1 > n2) ? n1 : n2;
        // всегда true
        while(true)
        {
            if(lcm % n1 == 0 && lcm % n2 == 0)
            {
                System.out.printf("%d и %d newest common multiple is %d.", n1, n2, lcm);
                break;
            }
            ++lcm;
        }
    }
}

При запуске этой программы вывод будет следующим:

72 и 120 newest common multiple is 360.

В этой программе два числа, из которых нужно найти наименьшую общую кратную, хранятся в переменных n1 и n2.
Затем мы сначала устанавливаем lcm в максимальное из этих двух чисел.
Это потому, что наименьшая общая кратная не может быть меньше самого большого числа. В бесконечном цикле while(true) мы проверяем, полностью ли lcm делится n1 и n2.
Если это так, мы нашли наименьшую общую кратную. Мы выводим наименьшую общую кратную и используем оператор break, чтобы выйти из цикла while.
В противном случае, мы увеличиваем lcm на 1 и повторно проверяем условие делимости.

Мы также можем использовать GCD для поиска LCM двух чисел по следующей формуле:

LCM = (n1 * n2) / GCD

Если вы не знаете, как вычислить GCD на Java, пожалуйста, проверьтеJava программа для нахождения НОД двух чисел.

Пример 2: Вычисление НКМ с помощью максимального общего делителя

public class LCM {
    public static void main(String[] args) {
        int n1 = 72, n2 = 120, gcd = 1;
        for(int i = 1; i <= n1 && i <= n2; ++i)
        {
            // Проверка, является ли i делителем обоих целых чисел
            if(n1 % i == 0 && n2 % i == 0)
                gcd = i;
        }
        int lcm = (n1 * n2) / gcd;
        System.out.printf("%d и %d newest common multiple is %d.", n1, n2, lcm);
    }
}

Вывод программы совпадает с примером 1.

Здесь, в цикле for, мы вычисляем НОД двух чисел - n1 и n2. После вычисления мы используем上面的 формулу для вычисления НКМ.

Java полный список примеров