Program Kotlin k nalezení LCM dvou čísel

V tomto programu se naučíte najít lcm dvou čísel pomocí GCD a nepoužíváním GCD. To se provádí pomocí while cyklu v Kotlin.

LCM dvou celých čísel je nejmenší kladné celé číslo, které je dokonale dělitelné oběma čísly (bez zbytku).

Příklad 1: Program Kotlin pro výpočet LCM pomocí pří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 ) )

Když spustíte program, výstup bude:

 LCM 72 a 120 je 360.

V tomto programu jsou dvě čísla, jejichž LCM se nachází, uložena v proměnných n1 respektive n2.

Poté jsme původně nastavili lcm na největší ze dvou čísel. Důvodem je, že LCM nemůže být menší než největší číslo.

Podobně jako v Javě v nekonečné smyčce while ( while(true)) kontrolujeme, zda lcm dokonale rozděluje n1 a n2 nebo ne.

Pokud ano, našli jsme LCM. Vytiskneme LCM a vymaníme se z cyklu while pomocí breakpříkazu.

Jinak zvýšíme lcm o 1 a znovu otestujeme podmínku dělitelnosti.

Zde je ekvivalentní kód Java: Program Java k vyhledání LCM dvou čísel.

Můžeme také použít GCD k nalezení LCM dvou čísel pomocí následujícího vzorce:

 LCM = (n1 * n2) / GCD

Pokud nevíte, jak vypočítat GCD v Javě, zkontrolujte program Kotlin a vyhledejte GCD dvou čísel.

Příklad 2: Program Kotlin pro výpočet LCM 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.") )

Výstup tohoto programu je stejný jako v příkladu 1.

Zde uvnitř smyčky while vypočítáme GCD dvou čísel - n1 a n2. Po výpočtu použijeme výše uvedený vzorec k výpočtu LCM.

Zajímavé články...