V tem programu se boste naučili najti lcm dvema številkama z uporabo GCD in brez uporabe GCD. To se naredi z uporabo zank for in while v Javi.
Če želite razumeti ta primer, morate poznati naslednje programske teme Java:
- Izjava Java, če … drugače
- Java while in do … while Loop
LCM dveh celih števil je najmanjše pozitivno celo število, ki je popolnoma deljivo z obema številkama (brez ostanka).
Primer 1: LCM z uporabo izjave while Loop in if
public class Main ( public static void main(String() args) ( int n1 = 72, n2 = 120, lcm; // maximum number between n1 and n2 is stored in lcm lcm = (n1> n2) ? n1 : n2; // Always true while(true) ( if( lcm % n1 == 0 && lcm % n2 == 0 ) ( System.out.printf("The LCM of %d and %d is %d.", n1, n2, lcm); break; ) ++lcm; ) ) )
Izhod
LCM 72 in 120 je 360.
V tem programu sta dve številki, katerih LCM je mogoče najti, shranjeni v spremenljivkah n1 oziroma n2.
Nato smo lcm sprva nastavili na največje od obeh števil. To je zato, ker LCM ne sme biti manjši od največjega števila.
Znotraj neskončne zanke while ( while(true)
) preverimo, ali lcm popolnoma deli n1 in n2 ali ne.
V nasprotnem primeru smo našli LCM. Natisnemo LCM in z break
izjavo prekinemo iz zanke while .
V nasprotnem primeru povečamo lcm za 1 in ponovno preizkusimo pogoj delljivosti.
Z GCD lahko poiščemo tudi LCM dveh števil po naslednji formuli:
LCM = (n1 * n2) / GCD
Če ne veste, kako izračunati GCD v Javi, preverite Java Program in poiščite GCD dveh številk.
Primer 2: Izračunajte LCM z uporabo GCD
public class Main ( public static void main(String() args) ( int n1 = 72, n2 = 120, gcd = 1; for(int i = 1; i <= n1 && i <= n2; ++i) ( // Checks if i is factor of both integers if(n1 % i == 0 && n2 % i == 0) gcd = i; ) int lcm = (n1 * n2) / gcd; System.out.printf("The LCM of %d and %d is %d.", n1, n2, lcm); ) )
Rezultat tega programa je enak kot v primeru 1.
Tu znotraj zanke for izračunamo GCD obeh števil - n1 in n2. Po izračunu uporabimo zgornjo formulo za izračun LCM.