Šioje programoje išmoksite rasti dviejų skaičių lcm naudodami GCD ir nenaudodami GCD. Tai daroma naudojant „Java“ kilpas ir „while“.
Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:
- „Java“, jei… kitas pareiškimas
- „Java“ ir daryk … o „Loop“
Dviejų sveikųjų skaičių LCM yra mažiausias teigiamas sveikasis skaičius, kuris puikiai dalijasi iš abiejų skaičių (be liekanos).
1 pavyzdys: LCM, naudojant „Loop“ ir „if“ pareiškimą
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; ) ) )
Rezultatas
72 ir 120 LCM yra 360.
Šioje programoje du skaičiai, kurių LCM reikia rasti, yra atitinkamai saugomi kintamuosiuose n1 ir n2.
Tada mes iš pradžių nustatėme didžiausią iš dviejų skaičių lcm. Taip yra todėl, kad LCM negali būti mažesnis už didžiausią skaičių.
Begalinės, o kilpos ( while(true)
) viduje mes patikriname, ar lcm puikiai dalija tiek n1, tiek n2, ar ne.
Jei taip, mes radome LCM. Mes atspausdiname LCM ir išsiskiriame iš „while“ ciklo, naudojant break
teiginį.
Be to, mes padidiname lcm 1 ir dar kartą patikriname dalijimo sąlygą.
Mes taip pat galime naudoti GCD, kad surastume dviejų skaičių LCM pagal šią formulę:
LCM = (n1 * n2) / GCD
Jei nežinote, kaip apskaičiuoti GCD „Java“, patikrinkite „Java“ programą, kad rastumėte dviejų skaičių GCD.
2 pavyzdys: apskaičiuokite LCM naudodami 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); ) )
Šios programos išvestis yra tokia pati kaip 1 pavyzdyje.
Čia, už kilpos, mes apskaičiuojame dviejų skaičių - n1 ir n2 - GCD. Atlikę skaičiavimą, LCM apskaičiuoti naudojame aukščiau pateiktą formulę.