Java program két szám GCD-jének megkeresésére

Ebben a programban megtanulja megtalálni Kotlin két számának GCD-jét. Ez a for and while ciklusok használatával, ha másként utasításokkal történik.

A példa megértéséhez ismernie kell a következő Java programozási témákat:

  • Java if… else nyilatkozat
  • Java a hurokhoz
  • Java közben és csináld … míg a hurok

Két egész szám HCF vagy GCD a legnagyobb egész szám, amely pontosan el tudja osztani mindkét számot (maradék nélkül).

1. példa: Keresse meg két szám GCD-jét a ciklushoz és az if utasításhoz

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

Kimenet

 A 81 és 153 GCD értéke 9

Itt két számot, amelyeknek GCD-je megtalálható, az n1 és az n2 tárolja.

Ezután egy for for ciklust hajtanak végre, amíg i kisebb, mint n1 és n2. Így a két szám közül az 1 és a legkisebb számot iterálják, hogy megtalálják a GCD-t.

Ha n1 és n2 egyaránt osztható i-vel, a gcd a számra van állítva. Ez addig folytatódik, amíg meg nem találja a legnagyobb számot (GCD), amely az n1-et és az n2-t is osztja maradék nélkül.

Megoldhatjuk ezt a problémát egy darab hurok segítségével is az alábbiak szerint:

2. példa: Keresse meg két szám GCD-jét a while ciklus és ha más utasítás segítségével

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

Kimenet

 GCD = 9

Ez jobb módja a GCD megtalálásának. Ebben a módszerben a kisebb egész számot kivonjuk a nagyobb egész számból, és az eredményt a nagyobb egész számot tartalmazó változóhoz rendeljük. Ezt a folyamatot addig folytatjuk, amíg n1 és n2 meg nem egyezik.

A fenti két program csak akkor működik rendeltetésszerűen, ha a felhasználó pozitív egész számokat ad meg. Itt van egy kis módosítás a második példán, hogy megtaláljuk a GCD-t pozitív és negatív egész számokra egyaránt.

3. példa: GCD pozitív és negatív számokra egyaránt

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

Kimenet

 GCD = 9

érdekes cikkek...