Program Kotlin na vyhľadanie LCM dvoch čísel

V tomto programe sa naučíte nájsť lcm dvoch čísel pomocou GCD a bez použitia GCD. To sa deje pomocou while cyklu v Kotline.

LCM dvoch celých čísel je najmenšie kladné celé číslo, ktoré je dokonale deliteľné obidvomi číslami (bez zvyšku).

Príklad 1: Program Kotlin na výpočet LCM pomocou príkazu while Loop a 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 spustení programu bude výstup:

 LCM 72 a 120 je 360.

V tomto programe sú dve čísla, ktorých LCM je potrebné nájsť, uložené v premenných n1 a n2.

Potom sme pôvodne nastavili lcm na najväčšie z týchto dvoch čísel. Je to preto, že LCM nemôže byť menšie ako najväčšie číslo.

Podobne ako v Jave, vo vnútri nekonečnej cyklu while ( while(true)) kontrolujeme, či lcm perfektne rozdeľuje n1 aj n2 alebo nie.

Ak áno, našli sme LCM. Vytlačíme LCM a vyradíme sa z cyklu while pomocou breakpríkazu.

Inak zvýšime lcm o 1 a znovu otestujeme podmienku deliteľnosti.

Tu je ekvivalentný kód Java: Program Java na vyhľadanie LCM dvoch čísel.

Pomocou GCD môžeme tiež nájsť LCM dvoch čísel pomocou nasledujúceho vzorca:

 LCM = (n1 * n2) / GCD

Ak neviete, ako vypočítať GCD v Jave, skontrolujte program Kotlin a nájdite GCD dvoch čísel.

Príklad 2: Program Kotlin na výpočet LCM pomocou 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.") )

Výstup tohto programu je rovnaký ako v príklade 1.

Tu vo vnútri while cyklu vypočítame GCD z dvoch čísel - n1 a n2. Po výpočte použijeme vyššie uvedený vzorec na výpočet LCM.

Zaujímavé články...