PS 3.33 - Máximo Común Divisor (MCD)

Calcula el MCD de dos números naturales A y B.

📝 Descripción del Problema

Construya un diagrama de flujo que calcule el máximo común divisor (MCD) de dos números naturales A y B. El MCD es el natural más grande que divide a ambos.

Datos: A y B (variables de tipo entero).

💡 Pistas y Fórmulas Clave

  • La clase principal debe llamarse MCD.java.
  • La forma más eficiente de resolver esto es con el Algoritmo de Euclides, que usa un bucle while.
  • La lógica del bucle es: while (B != 0) { ... }
  • Dentro del bucle, se usa el residuo (módulo %):
    1. temp = B
    2. B = A % B
    3. A = temp
  • Cuando el bucle termina, A contiene el MCD.
  • La prueba (TestMCD.java) debe incluir casos donde A > B, B > A, números primos entre sí, y el caso de A o B siendo 0.

📊 Diagrama de Flujo

Diagrama de flujo para PS 3.33

▶️ Prueba y Resultados

Resultado de ejecutar --select-class TestMCD en la terminal.

PS C:\Users\...\Ejercicios> java -jar lib\junit-platform-console-standalone-1.9.3.jar -cp "src;tests" --select-class TestMCD

Thanks for using JUnit! Support its development at https://junit.org/sponsoring

.
+-- JUnit Jupiter [OK]
| '-- TestMCD [OK]
|   +-- testNumerosGrandes() [OK]
|   +-- testAmbosCero() [OK]
|   +-- testConCero() [OK]
|   +-- testArgumentosInvertidos() [OK]
|   +-- testNumerosPrimosEntreSi() [OK]
|   +-- testUnNumeroEsMultiploDelOtro() [OK]
|   '-- testNumerosNegativos() [OK]
'-- JUnit Platform Suite [OK]

Test run finished after 92 ms
[         3 containers found      ]
[         0 containers skipped    ]
[         3 containers started    ]
[         0 containers aborted    ]
[         3 containers successful ]
[         0 containers failed     ]
[         7 tests found           ]
[         0 tests skipped         ]
[         7 tests started         ]
[         0 tests aborted         ]
[         7 tests successful      ]
[         0 tests failed          ]
← Volver al Inicio