Java-program til at finde GCD med to numre

I dette program lærer du at finde GCD med to tal i Kotlin. Dette gøres ved at bruge for og mens sløjfer ved hjælp af hvis ellers udsagn.

For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:

  • Java hvis … ellers Erklæring
  • Java til Loop
  • Java mens og gør … mens Loop

HCF eller GCD af to heltal er det største heltal, der nøjagtigt kan dele begge tal (uden en rest).

Eksempel 1: Find GCD af to tal ved hjælp af for loop og if-sætning

 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 af 81 og 153 er 9

Her er to tal, hvis GCD findes, gemt i henholdsvis n1 og n2.

Derefter udføres en for-løkke, indtil jeg er mindre end både n1 og n2. På denne måde gentages alle tal mellem 1 og mindste af de to tal for at finde GCD.

Hvis både n1 og n2 kan deles med i, indstilles gcd til tallet. Dette fortsætter, indtil det finder det største tal (GCD), der deler både n1 og n2 uden resten.

Vi kan også løse dette problem ved hjælp af en while-loop som følger:

Eksempel 2: Find GCD med to tal ved hjælp af mens loop og hvis ellers udsagn

 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

Dette er en bedre måde at finde GCD på. I denne metode trækkes mindre heltal fra det større heltal, og resultatet tildeles variablen med større heltal. Denne proces fortsættes, indtil n1 og n2 er ens.

Ovennævnte to programmer fungerer kun som beregnet, hvis brugeren indtaster positive heltal. Her er en lille ændring af det andet eksempel for at finde GCD til både positive og negative heltal.

Eksempel 3: GCD for både positive og negative tal

 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

Interessante artikler...