Java-program för att hitta GCD med två nummer

I det här programmet lär du dig att hitta GCD med två siffror i Kotlin. Detta görs genom att använda för och medan slingor med hjälp av om annat uttalanden.

För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:

  • Java if … else Uttalande
  • Java för Loop
  • Java medan och gör … medan Loop

HCF eller GCD för två heltal är det största heltalet som exakt kan dela båda siffrorna (utan en rest).

Exempel 1: Hitta GCD med två nummer med hjälp av för loop och if-sats

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

Produktion

 GCD 81 och 153 är 9

Här lagras två nummer vars GCD finns i n1 respektive n2.

Därefter exekveras en for-loop tills i är mindre än både n1 och n2. På så sätt upprepas alla siffror mellan 1 och minsta av de två siffrorna för att hitta GCD.

Om både n1 och n2 är delbara med i ställs gcd in på talet. Detta fortsätter tills det hittar det största numret (GCD) som delar både n1 och n2 utan resten.

Vi kan också lösa detta problem med en stundslinga enligt följande:

Exempel 2: Hitta GCD med två siffror med hjälp av en loop-och om annat uttalande

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

Produktion

 GCD = 9

Detta är ett bättre sätt att hitta GCD. I denna metod subtraheras mindre heltal från det större heltalet och resultatet tilldelas variabeln som innehåller större heltal. Denna process fortsätter tills n1 och n2 är lika.

Ovanstående två program fungerar bara som avsett om användaren anger positiva heltal. Här är en liten modifiering av det andra exemplet för att hitta GCD för både positiva och negativa heltal.

Exempel 3: GCD för både positiva och negativa siffror

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

Produktion

 GCD = 9

Intressanta artiklar...