English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Java control de flujo

Java array

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Queue (cola)

Java Map conjunto

Java Set conjunto

Java entrada salida (I/O)

Java Reader/Writer

Java otros temas

Java programa para encontrar el máximo común divisor de dos números

Java Ejemplos Completos

En este programa, aprenderás a encontrar el máximo común divisor (GCD) de dos números en un programa Java. Esto se hace usando bucles for y while con la ayuda de declaraciones if else.

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

Ejemplo1:Usa un ciclo for y una declaración if para encontrar el máximo común divisor de dos números

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)
        {
            // verificar si i es factor de dos enteros
            if(n1 % i==0 && n2 % i==0)
                gcd = i;
        }
        System.out.printf("%d y %d el máximo común divisor es %d", n1, ", n2, gcd);
    }
}

Al ejecutar este programa, la salida es:

81 y 153 el máximo común divisor de n es 9

Aquí, los dos números que se van a encontrar su máximo común divisor se almacenan en n1y n2en medio.

Luego, ejecuta un ciclo for, hasta que i sea menor que n1y n2hasta que se complete. De esta manera, la iteración1hasta encontrar el máximo común divisor de todos los números más pequeños entre los dos números.

si n1y n2Si todos pueden ser divididos por i, entonces configura gcd como el número. Continúa hasta encontrar el número más grande (GCD), que será n1y n2se divide sin resto.}

还可以使用while循环解决这个问题,如下所示:

Ejemplo2:使用while循环和if else语句查找两个数字的M.C.D

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("M.C.D = ", + n1);
    }
}

Al ejecutar este programa, la salida es:

M.C.D = = 9

Este es un mejor método para encontrar el M.C.D. En este método, se resta el entero más pequeño del entero más grande, y luego se asigna el resultado a la variable que guarda el entero más grande. Este proceso continúa hasta que n1y n2son iguales.

Sólo cuando el usuario ingresa un entero positivo, los dos programas anteriores pueden funcionar según lo previsto. Aquí hay algunos cambios en el segundo ejemplo para encontrar el M.C.D de números enteros positivos y negativos.

Ejemplo3:正负数均为M.C.D

public ", class ", GCD ", {
    public ", static ", void ", main(String[] ", args) ", {
        int ", n1 = 81, ", n2 = -153;
        n1 = ", ( ", n1 > ", 0) ", ? ", n1 : -n1;
        n2 = ", ( ", n2 > ", 0) ", ? ", n2 : -n2;
        while(n1 != ", n2)
        {
            if(n1 > ", n2)
                n1 -= ", n2;
            else
                n2 -= ", n1;
        }
        System.out.println("M.C.D = ", + n1);
    }
}

Al ejecutar este programa, la salida es:

M.C.D = = 9

Java Ejemplos Completos