Kotlin-ohjelma kahden numeron LCM: n löytämiseksi

Tässä ohjelmassa opit löytämään kahden numeron lcm: n käyttämällä GCD: tä ja käyttämättä GCD: tä. Tämä tehdään while loopilla Kotlinissa.

Kahden kokonaisluvun LCM on pienin positiivinen kokonaisluku, joka on täysin jaettavissa molemmilla numeroilla (ilman jäännöstä).

Esimerkki 1: Kotlin-ohjelma LCM: n laskemiseksi while Loop- ja if-lauseilla

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

Kun suoritat ohjelmaa, tulos on:

 LCM: n arvo 72 ja 120 on 360.

Tässä ohjelmassa kaksi numeroa, joiden LCM löytyy, tallennetaan muuttujiin n1 ja n2 vastaavasti.

Sitten asetimme aluksi lcm suurimmaksi kahdesta numerosta. Tämä johtuu siitä, että LCM ei voi olla pienempi kuin suurin luku.

Samoin kuin Java, tarkistamme loputtoman silmukan ( while(true)) sisällä, jakaako lcm sekä n1 että n2 täydellisesti vai ei.

Jos näin tapahtuu, olemme löytäneet LCM: n. Tulostamme LCM: n ja irrotamme while-silmukasta breaklauseen avulla.

Muutoin lisäämme lcm: tä 1: llä ja testaamme uudelleen jaettavuusolosuhteet.

Tässä on vastaava Java-koodi: Java-ohjelma kahden numeron LCM: n löytämiseksi.

Voimme myös käyttää GCD: tä etsimään kahden luvun LCM seuraavan kaavan avulla:

 LCM = (n1 * n2) / GCD

Jos et tiedä kuinka laskea GCD Java: ssa, tarkista Kotlin Program löytääksesi kahden numeron GCD.

Esimerkki 2: Kotlin-ohjelma LCM: n laskemiseksi GCD: n avulla

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

Tämän ohjelman tulos on sama kuin esimerkissä 1.

Tässä lasketaan while-silmukan sisällä kahden luvun - n1 ja n2 - GCD. Laskennan jälkeen käytämme yllä olevaa kaavaa LCM: n laskemiseen.

Mielenkiintoisia artikkeleita...