Java-ohjelma kahden numeron LCM: n etsimiseen

Tässä ohjelmassa opit löytämään kahden numeron lcm: n käyttämällä GCD: tä ja käyttämättä GCD: tä. Tämä tehdään Java-silmukoiden avulla ja while-tilassa.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:

  • Java jos… muuten lausunto
  • Java taas ja tee … samalla kun silmukka

Kahden kokonaisluvun LCM on pienin positiivinen kokonaisluku, joka on täysin jaettavissa molemmilla numeroilla (ilman jäännöstä).

Esimerkki 1: LCM käyttäen while Loop ja 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; ) ) ) 

Tuotos

 LCM: n arvo 72 ja 120 on 360.

Tässä ohjelmassa kaksi numeroa, joiden LCM löytyy, tallennetaan muuttujiin n1 ja n2 vastaavasti.

Sitten asetimme aluksi lcm suurimmaksi kahdesta numerosta. Tämä johtuu siitä, että LCM ei voi olla pienempi kuin suurin luku.

Infinite while -silmukan ( while(true)) sisällä tarkistamme, jakaako lcm sekä n1 että n2 täydellisesti vai ei.

Jos näin tapahtuu, olemme löytäneet LCM: n. Tulostamme LCM: n ja irrotamme while-silmukasta breaklauseen avulla.

Muutoin lisäämme lcm: tä 1: llä ja testaamme uudelleen jaettavuusolosuhteet.

Voimme myös käyttää GCD: tä etsimään kahden luvun LCM seuraavan kaavan avulla:

 LCM = (n1 * n2) / GCD

Jos et tiedä kuinka laskea GCD Java: ssa, tarkista Java-ohjelma löytääksesi kahden numeron GCD.

Esimerkki 2: Laske LCM käyttämällä GCD: tä

 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); ) ) 

Tämän ohjelman tulos on sama kuin esimerkissä 1.

Tässä lasketaan for-silmukan sisällä kahden luvun - n1 ja n2 - GCD. Laskennan jälkeen käytämme yllä olevaa kaavaa LCM: n laskemiseen.

Mielenkiintoisia artikkeleita...