I dette program lærer du at finde lcm med to tal ved hjælp af GCD og ikke ved hjælp af GCD. Dette gøres ved hjælp af for og mens sløjfer i Java.
For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:
- Java hvis … ellers Erklæring
- Java mens og gør … mens Loop
LCM for to heltal er det mindste positive heltal, der er helt delelig med begge tal (uden en rest).
Eksempel 1: LCM ved brug af Loop og if Statement
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; ) ) )
Produktion
LCM på 72 og 120 er 360.
I dette program er de to tal, hvis LCM skal findes, gemt i henholdsvis variablerne n1 og n2.
Derefter indstillede vi oprindeligt lcm til det største af de to tal. Dette skyldes, at LCM ikke kan være mindre end det største antal.
Inde i den uendelige mens sløjfe ( while(true)
) kontrollerer vi, om lcm perfekt deler både n1 og n2 eller ej.
Hvis det gør det, har vi fundet LCM. Vi udskriver LCM og bryder ud fra while-loop ved hjælp af break
statement.
Ellers øges vi lcm med 1 og tester igen delbarhedsbetingelsen.
Vi kan også bruge GCD til at finde LCM for to tal ved hjælp af følgende formel:
LCM = (n1 * n2) / GCD
Hvis du ikke ved, hvordan du beregner GCD i Java, skal du tjekke Java-program for at finde GCD med to tal.
Eksempel 2: Beregn LCM ved hjælp af 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); ) )
Output fra dette program er det samme som eksempel 1.
Her, inden i for-løkken, beregner vi GCD for de to tal - n1 og n2. Efter beregningen bruger vi ovenstående formel til at beregne LCM.