W tym programie nauczysz się znajdować lcm dwóch liczb za pomocą GCD, a nie GCD. Odbywa się to za pomocą pętli while w Kotlinie.
NWW dwóch liczb całkowitych to najmniejsza dodatnia liczba całkowita, która jest doskonale podzielna przez obie liczby (bez reszty).
Przykład 1: Program Kotlin do obliczania LCM przy użyciu pętli while i instrukcji 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 ) )
Po uruchomieniu programu wynik będzie następujący:
NWW 72 i 120 wynosi 360.
W tym programie dwie liczby, których LCM ma zostać znalezione, są przechowywane odpowiednio w zmiennych n1 i n2.
Następnie początkowo ustawiamy lcm na największą z dwóch liczb. Dzieje się tak, ponieważ LCM nie może być mniejsze niż największa liczba.
Podobnie jak w Javie, wewnątrz nieskończonej pętli while ( while(true)
) sprawdzamy, czy lcm doskonale dzieli n1 i n2, czy nie.
Jeśli tak, to znaleźliśmy LCM. Drukujemy LCM i wyrywamy się z pętli while za pomocą break
instrukcji.
W przeciwnym razie zwiększamy lcm o 1 i ponownie testujemy warunek podzielności.
Oto odpowiednik kodu w Javie: Program Java do znajdowania LCM dwóch liczb.
Możemy również użyć GCD, aby znaleźć NWW dwóch liczb, korzystając z następującego wzoru:
LCM = (n1 * n2) / GCD
Jeśli nie wiesz, jak obliczyć GCD w Javie, sprawdź program Kotlin, aby znaleźć GCD dwóch liczb.
Przykład 2: Program Kotlin do obliczania LCM za pomocą 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.") )
Wynik tego programu jest taki sam, jak w przykładzie 1.
Tutaj, wewnątrz pętli while, obliczamy GCD dwóch liczb - n1 i n2. Po obliczeniu używamy powyższego wzoru do obliczenia LCM.