У цій програмі ви навчитеся знаходити lcm двох чисел за допомогою GCD та не використовуючи GCD. Це робиться за допомогою циклу while у Kotlin.
LCM двох цілих чисел є найменшим додатним цілим числом, яке ідеально ділиться на обидва числа (без залишку).
Приклад 1: Програма Kotlin для обчислення LCM за допомогою оператора while Loop і if
fun main(args: Array) ( val n1 = 72 val n2 = 120 var lcm: Int // maximum number between n1 and n2 is stored in lcm lcm = if (n1> n2) n1 else n2 // Always true while (true) ( if (lcm % n1 == 0 && lcm % n2 == 0) ( println("The LCM of $n1 and $n2 is $lcm.") break ) ++lcm ) )
Коли ви запускаєте програму, результат буде:
LCM 72 і 120 дорівнює 360.
У цій програмі два числа, чий LCM слід знайти, зберігаються у змінних n1 та n2 відповідно.
Тоді спочатку ми встановили lcm на найбільше з двох чисел. Це тому, що LCM не може бути меншим за найбільше число.
Подібно до Java, всередині нескінченного циклу while ( while(true)
) ми перевіряємо, чи lcm ідеально ділить як n1, так і n2 чи ні.
Якщо так, ми знайшли LCM. Ми друкуємо LCM і вириваємося з циклу while за допомогою break
оператора.
В іншому випадку ми збільшуємо lcm на 1 і повторно перевіряємо умову подільності.
Ось еквівалентний код Java: програма Java для пошуку LCM двох чисел.
Ми також можемо використовувати GCD, щоб знайти LCM двох чисел за такою формулою:
LCM = (n1 * n2) / GCD
Якщо ви не знаєте, як розрахувати GCD на Java, перевірте програму Kotlin, щоб знайти GCD з двох чисел.
Приклад 2: Програма Котліна для обчислення LCM за допомогою GCD
fun main(args: Array) ( val n1 = 72 val n2 = 120 var gcd = 1 var i = 1 while (i <= n1 && i <= n2) ( // Checks if i is factor of both integers if (n1 % i == 0 && n2 % i == 0) gcd = i ++i ) val lcm = n1 * n2 / gcd println("The LCM of $n1 and $n2 is $lcm.") )
Результат роботи цієї програми такий же, як у Прикладі 1.
Тут, всередині циклу while, ми обчислюємо GCD двох чисел - n1 та n2. Після обчислення ми використовуємо наведену вище формулу для обчислення LCM.