В этой программе вы научитесь находить lcm двух чисел, используя GCD, а не используя GCD. Это делается с помощью циклов for и while в Java.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Заявление Java if… else
- Java while и do … while Loop
НОК двух целых чисел - это наименьшее положительное целое число, которое полностью делится на оба числа (без остатка).
Пример 1: LCM с использованием цикла while и оператора if
public class Main ( public static void main(String() args) ( int n1 = 72, n2 = 120, lcm; // maximum number between n1 and n2 is stored in lcm lcm = (n1> n2) ? n1 : n2; // Always true while(true) ( if( lcm % n1 == 0 && lcm % n2 == 0 ) ( System.out.printf("The LCM of %d and %d is %d.", n1, n2, lcm); break; ) ++lcm; ) ) )
Вывод
НОК 72 и 120 равно 360.
В этой программе два числа, НОК которых необходимо найти, хранятся в переменных n1 и n2 соответственно.
Затем мы изначально устанавливаем lcm равным наибольшему из двух чисел. Это потому, что LCM не может быть меньше наибольшего числа.
Внутри бесконечного цикла while ( while(true)
) мы проверяем, идеально ли lcm делит n1 и n2 или нет.
Если да, то мы нашли LCM. Мы печатаем LCM и выходим из цикла while с помощью break
оператора.
В противном случае мы увеличиваем lcm на 1 и повторно проверяем условие делимости.
Мы также можем использовать GCD, чтобы найти НОК двух чисел, используя следующую формулу:
НОК = (n1 * n2) / НОД
Если вы не знаете, как вычислить GCD в Java, проверьте программу Java, чтобы найти GCD из двух чисел.
Пример 2: Расчет НОК с использованием НОД
public class Main ( public static void main(String() args) ( int n1 = 72, n2 = 120, gcd = 1; for(int i = 1; i <= n1 && i <= n2; ++i) ( // Checks if i is factor of both integers if(n1 % i == 0 && n2 % i == 0) gcd = i; ) int lcm = (n1 * n2) / gcd; System.out.printf("The LCM of %d and %d is %d.", n1, n2, lcm); ) )
Результат этой программы такой же, как в Примере 1.
Здесь внутри цикла for мы вычисляем НОД двух чисел - n1 и n2. После расчета мы используем приведенную выше формулу для расчета НОК.