У цій програмі ви навчитеся знаходити lcm двох чисел за допомогою GCD та не використовуючи GCD. Це робиться за допомогою циклів for і while у Java.
Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування Java:
- Заява про Java, якщо … ще
- Java в той час як і робити … в той час як Loop
LCM двох цілих чисел є найменшим додатним цілим числом, яке ідеально ділиться на обидва числа (без залишку).
Приклад 1: LCM, використовуючи оператор while Loop і 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; ) ) )
Вихідні дані
LCM 72 і 120 дорівнює 360.
У цій програмі два числа, чий LCM слід знайти, зберігаються у змінних n1 та n2 відповідно.
Тоді спочатку ми встановили lcm на найбільше з двох чисел. Це тому, що LCM не може бути меншим за найбільше число.
Всередині нескінченної петлі while ( while(true)
) ми перевіряємо, чи lcm ідеально ділить як n1, так і n2 чи ні.
Якщо так, ми знайшли LCM. Ми друкуємо LCM і вириваємося з циклу while за допомогою break
оператора.
В іншому випадку ми збільшуємо lcm на 1 і повторно перевіряємо умову подільності.
Ми також можемо використовувати GCD, щоб знайти LCM двох чисел за такою формулою:
LCM = (n1 * n2) / GCD
Якщо ви не знаєте, як обчислити GCD на Java, перевірте Java-програму, щоб знайти GCD з двох чисел.
Приклад 2: Обчисліть LCM за допомогою GCD
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, ми обчислюємо GCD двох чисел - n1 та n2. Після обчислення ми використовуємо наведену вище формулу для обчислення LCM.