Java-ohjelma kahden numeron GCD: n etsimiseen

Tässä ohjelmassa opit etsimään kahden numeron GCD Kotlinista. Tämä tehdään käyttämällä silmukoita for while -toiminnolla if else -lausekkeiden avulla.

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

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

Kahden kokonaisluvun HCF tai GCD on suurin kokonaisluku, joka voi jakaa molemmat numerot tarkalleen (ilman loppuosaa).

Esimerkki 1: Etsi kahden numeron GCD käyttämällä silmukan ja if-lauseita

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = 153, 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; ) System.out.printf("G.C.D of %d and %d is %d", n1, n2, gcd); ) )

Tuotos

 81 ja 153 GCD on 9

Täällä kaksi numeroa, joiden GCD löytyy, tallennetaan vastaavasti n1: ään ja n2: een.

Sitten a for -silmukka suoritetaan, kunnes i on pienempi kuin n1 ja n2. Tällä tavalla kaikki numerot, jotka ovat 1: stä pienimpään kahdesta numerosta, toistetaan GCD: n löytämiseksi.

Jos sekä n1 että n2 jaetaan i: llä, gcd asetetaan numeroksi. Tämä jatkuu, kunnes se löytää suurimman määrän (GCD), joka jakaa sekä n1 että n2 ilman loppuosaa.

Voimme myös ratkaista tämän ongelman käyttämällä hetken silmukkaa seuraavasti:

Esimerkki 2: Etsi kahden numeron GCD käyttämällä while loop- ja if else -lauseketta

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = 153; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) System.out.println("G.C.D = " + n1); ) )

Tuotos

 GCD = 9

Tämä on parempi tapa löytää GCD. Tässä menetelmässä pienempi kokonaisluku vähennetään suuremmasta kokonaisluvusta ja tulos osoitetaan muuttujalle, jolla on suurempi kokonaisluku. Tätä prosessia jatketaan, kunnes n1 ja n2 ovat yhtä suuret.

Edellä mainitut kaksi ohjelmaa toimivat tarkoitetulla tavalla vain, jos käyttäjä syöttää positiivisia kokonaislukuja. Tässä on pieni muunnos toisesta esimerkistä GCD: n löytämiseksi sekä positiivisille että negatiivisille kokonaislukuille.

Esimerkki 3: GCD sekä positiivisille että negatiivisille luvuille

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = -153; // Always set to positive n1 = ( n1> 0) ? n1 : -n1; n2 = ( n2> 0) ? n2 : -n2; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) System.out.println("G.C.D = " + n1); ) )

Tuotos

 GCD = 9

Mielenkiintoisia artikkeleita...