Código de Java - Calcular el máximo común divisor de dos numeros

Imágen de perfil
Val: 261
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Calcular el máximo común divisor de dos numerosgráfica de visualizaciones


Java

Publicado el 16 de Enero del 2021 por Katas (24 códigos)
595 visualizaciones desde el 16 de Enero del 2021
Código que muestra como calcular el máximo común divisor de dos números utilizando un bucle for.

Se define el máximo común divisor de dos o más números enteros al mayor número entero que los divide sin dejar residuo alguno (sin que sobre algún número)

1
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 16 de Enero del 2021gráfica de visualizaciones de la versión: 1
596 visualizaciones desde el 16 de Enero del 2021
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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)
        {
            // Revisamos si i es un entero en N1 y N2
            if(n1 % i==0 && n2 % i==0)
                gcd = i;
        }
 
        System.out.printf("El GCD de %d y %d es %d", n1, n2, gcd);
        // El GCD de 81 y 153 es 9
    }
}



Comentarios sobre la versión: 1 (1)

Ludovico
19 de Enero del 2021
estrellaestrellaestrellaestrellaestrella
Hola Katas,

si uno ve estos fragmentos de código como una ayuda para otros, sería importante que se utilizara un algoritmo utilizable. En el caso del MCD, este es el algoritmo de Euclides que en realidad siempre se encuentra con el tema de MCD, como por ejemplo:

https://www.smartick.es/blog/matematicas/divisibilidad/mcd-maximo-comun-divisor/

https://es.m.wikipedia.org/wiki/Máximo_común_divisor
...

Y luego que se proponga algo como:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
 * Calculates the greatest common divisor.
 * @param a First number.
 * @param b Second number.
 * @return greatest common divisor of a and b.
 */
public static int gcd(final int a, final int b) {
    int dividend = a;
    int divisor = b;
    int rest;
    while ((rest = dividend % divisor) != 0) {
        dividend = divisor;
        divisor = rest;
    }
    return divisor;
}


Saludos
Responder

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s6821