Kotlini programm kahe numbri LCM leidmiseks

Selles programmis õpite leidma kahe numbri lcm, kasutades GCD-d ja mitte GCD-d. Selleks kasutatakse Kotlinis while loopi.

Kahe täisarvu LCM on väikseim positiivne täisarv, mis on täiesti jagatav mõlema arvuga (ilma jäägita).

Näide 1: Kotlini programm LCM arvutamiseks, kasutades käsku Loop ja 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 ) )

Programmi käivitamisel on väljund järgmine:

 LCM 72 ja 120 on 360.

Selles programmis on kaks numbrit, mille LCM leidub, salvestatud vastavalt muutujatesse n1 ja n2.

Seejärel määrasime lcm algselt kahest numbrist suurima. Seda seetõttu, et LCM ei saa olla väiksem kui suurim arv.

Sarnaselt Java-ga kontrollime lõpmatu silmuse ( while(true)) sees , kas lcm jagab ideaalselt nii n1 kui ka n2 või mitte.

Kui see juhtub, oleme leidnud LCM-i. Trükime LCM-i ja väljume hetkeahelast breakavalduse abil.

Muul juhul suurendame lcm 1 võrra ja testime jagatavuse tingimust uuesti.

Siin on samaväärne Java-kood: Java-programm kahe numbri LCM leidmiseks.

Samuti võime GCD abil leida kahe numbri LCM järgmise valemi abil:

 LCM = (n1 * n2) / GCD

Kui te ei tea, kuidas Java-s GCD-d arvutada, kontrollige Kotlini programmi, et leida kahest numbrist koosnev GCD.

Näide 2: Kotlini programm LCM arvutamiseks GCD abil

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

Selle programmi väljund on sama, mis näites 1.

Siin arvutame while-tsükli sees kahe arvu - n1 ja n2 - GCD. Pärast arvutust kasutame LCM arvutamiseks ülaltoodud valemit.

Huvitavad Artiklid...