Java-programma om GCD van twee nummers te vinden

In dit programma leer je GCD van twee getallen in Kotlin te vinden. Dit wordt gedaan door for en while loops te gebruiken met behulp van if else statements.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:

  • Java if… else-instructie
  • Java voor Loop
  • Java while en do … while Loop

De HCF of GCD van twee gehele getallen is het grootste gehele getal dat beide getallen exact kan delen (zonder een rest).

Voorbeeld 1: Vind GCD van twee getallen met de instructie for lus en if

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

Uitvoer

 GCD van 81 en 153 is 9

Hier zijn twee nummers waarvan de GCD te vinden is, opgeslagen in respectievelijk n1 en n2.

Vervolgens wordt een for-lus uitgevoerd totdat i kleiner is dan zowel n1 als n2. Op deze manier worden alle getallen tussen 1 en de kleinste van de twee getallen herhaald om de GCD te vinden.

Als zowel n1 als n2 deelbaar zijn door i, wordt ggd op het getal gezet. Dit gaat door totdat het het grootste getal (GCD) vindt dat zowel n1 als n2 zonder rest deelt.

We kunnen dit probleem ook als volgt oplossen met een while-lus:

Voorbeeld 2: Vind GCD van twee getallen met de while-lus en if else-instructie

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

Uitvoer

 GCD = 9

Dit is een betere manier om de GCD te vinden. Bij deze methode wordt een kleiner geheel getal afgetrokken van het grotere gehele getal en wordt het resultaat toegewezen aan de variabele die een groter geheel getal bevat. Dit proces wordt voortgezet totdat n1 en n2 gelijk zijn.

De bovenstaande twee programma's werken alleen zoals bedoeld als de gebruiker positieve gehele getallen invoert. Hier is een kleine wijziging van het tweede voorbeeld om de GCD te vinden voor zowel positieve als negatieve gehele getallen.

Voorbeeld 3: GCD voor zowel positieve als negatieve getallen

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

Uitvoer

 GCD = 9

Interessante artikelen...