Programa Java para encontrar GCD de dos números

En este programa, aprenderá a encontrar GCD de dos números en Kotlin. Esto se hace usando bucles for y while con la ayuda de declaraciones if else.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:

  • Declaración if … else de Java
  • Java para Loop
  • Java while y do… while Loop

El HCF o GCD de dos enteros es el entero más grande que puede dividir exactamente ambos números (sin un resto).

Ejemplo 1: Encuentre GCD de dos números usando el bucle for y la declaración 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); ) )

Salida

 MCD de 81 y 153 es 9

Aquí, dos números cuyo GCD se va a encontrar se almacenan en n1 y n2 respectivamente.

Entonces, se ejecuta un ciclo for hasta que i sea menor que n1 y n2. De esta manera, todos los números entre 1 y el más pequeño de los dos se repiten para encontrar el MCD.

Si tanto n1 como n2 son divisibles por i, gcd se establece en el número. Esto continúa hasta que encuentra el número más grande (GCD) que divide a n1 y n2 sin resto.

También podemos resolver este problema usando un bucle while de la siguiente manera:

Ejemplo 2: Encuentre GCD de dos números usando el bucle while y la instrucción if else

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

Salida

 MCD = 9

Esta es una mejor forma de encontrar el GCD. En este método, el número entero más pequeño se resta del número entero más grande y el resultado se asigna a la variable que contiene un número entero más grande. Este proceso continúa hasta que n1 y n2 son iguales.

Los dos programas anteriores funcionan según lo previsto solo si el usuario ingresa números enteros positivos. Aquí hay una pequeña modificación del segundo ejemplo para encontrar el MCD tanto para enteros positivos como negativos.

Ejemplo 3: MCD para números positivos y negativos

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

Salida

 MCD = 9

Articulos interesantes...