Kotlinov program za pronalaženje LCM-a od dva broja

U ovom programu naučit ćete pronaći lcm dvobroja pomoću GCD-a i neiskorištenjem GCD-a. To se radi pomoću petlje while u Kotlinu.

LCM dviju cijelih brojeva najmanji je pozitivni cijeli broj koji se savršeno dijeli s oba broja (bez ostatka).

Primjer 1: Kotlinov program za izračunavanje LCM-a pomoću izjave while Loop i 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 ) )

Kada pokrenete program, izlaz će biti:

 LCM od 72 i 120 je 360.

U ovom su programu dva broja čiji se LCM nalazi pohranjeni u varijable n1 odnosno n2.

Zatim smo u početku postavili lcm na najveći od dva broja. To je zato što LCM ne može biti manji od najvećeg broja.

Slično Java, unutar beskonačne while petlje ( while(true)) provjeravamo dijeli li lcm savršeno i n1 i n2 ili ne.

Ako se dogodi, pronašli smo LCM. Ispisujemo LCM i izbijamo se iz while petlje pomoću breakizraza.

Inače, povećavamo lcm za 1 i ponovno testiramo uvjet djeljivosti.

Evo ekvivalentnog Java koda: Java program za pronalaženje LCM-a od dva broja.

Također možemo koristiti GCD da pronađemo LCM dva broja koristeći sljedeću formulu:

 LCM = (n1 * n2) / GCD

Ako ne znate kako izračunati GCD na Javi, provjerite Kotlin Program da biste pronašli GCD od dva broja.

Primjer 2: Kotlinov program za izračunavanje LCM-a pomoću GCD-a

 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.") )

Rezultat ovog programa jednak je primjeru 1.

Ovdje, unutar while petlje, izračunavamo GCD dva broja - n1 i n2. Nakon izračuna, koristimo gornju formulu za izračunavanje LCM-a.

Zanimljivi članci...