Šajā programmā jūs iemācīsities atrast divu skaitļu cm3, izmantojot GCD un neizmantojot GCD. Tas tiek darīts, izmantojot Java cilnes un kamēr.
Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:
- Java, ja … cits paziņojums
- Java kamēr un dari … kamēr Loop
Divu veselu skaitļu LCM ir mazākais pozitīvais skaitlis, kas ir pilnīgi sadalāms ar abiem skaitļiem (bez atlikuma).
1. piemērs: LCM, izmantojot paziņojumu while Loop un 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; ) ) )
Rezultāts
LCM 72 un 120 ir 360.
Šajā programmā divi skaitļi, kuru LCM ir atrodams, tiek attiecīgi saglabāti mainīgajos n1 un n2.
Pēc tam mēs sākotnēji iestatījām lcm uz lielāko no diviem skaitļiem. Tas ir tāpēc, ka LCM nevar būt mazāks par lielāko skaitu.
Infinite while loop ( while(true)
) iekšpusē mēs pārbaudām, vai lcm lieliski sadala gan n1, gan n2, vai nē.
Ja tā notiek, mēs esam atraduši LCM. Mēs izdrukājam LCM un izejam no while cikla, izmantojot break
priekšrakstu.
Citādi mēs palielinām lcm par 1 un atkārtoti pārbaudām dalāmības stāvokli.
Mēs varam arī izmantot GCD, lai atrastu divu skaitļu LCM, izmantojot šādu formulu:
LCM = (n1 * n2) / GCD
Ja nezināt, kā Java aprēķināt GCD, pārbaudiet Java programmu, lai atrastu divu skaitļu GCD.
2. piemērs: aprēķiniet LCM, izmantojot 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); ) )
Šīs programmas izeja ir tāda pati kā 1. piemērā.
Šeit iekšpusē for loop mēs aprēķinām divu skaitļu - n1 un n2 - GCD. Pēc aprēķina mēs izmantojam iepriekšminēto formulu, lai aprēķinātu LCM.