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