Por favor, activa JavaScript y desactiva tu adblock para este sitio

El Javatar

Blog dedicado a la Programación en Java, C, PHP, Phyton, HTML, SQL y Mucho Más

martes, 13 de mayo de 2014

Como Hallar el Máximo Común Divisor en C++

Como Hallar el Máximo Común Divisor en C++
Hoy seguimos con las entradas destinadas a encontrar el Máximo Común Divisor entre dos números enteros en diversos lenguajes de programación. Como recordarás, primero estudiamos el Algoritmo de Euclides el cual es una forma muy eficaz para hallar el M.C.D., pues por su proceso iterativo es fácil de implementar en prácticamente cualquier lenguaje de programación (haz clic aquí para leer el artículo).

De igual forma ya lo hemos implementado en otros lenguajes como Java y C#, y hoy es el turno de C++, y al igual que en estos dos lenguajes que mencionamos, en C++ también contamos con funciones para seleccionar entre el mayor y el menor de dos números, caso contrario al pseudocódigo y al lenguaje C en donde tuvimos que hacer la selección manualmente.

Sin embargo para tal propósito tuvimos que incluir la librería algorithm, pues es en ella donde encontramos dichos métodos para seleccionar el mayor o el menor de dos números. Pero bueno, vamos a ver el código para entender un poco mejor:

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
    // Declaramos las variables que usaremos
    int num1, num2, a, b, res;
    // Pedimos al usuario que ingrese los numeros
    cout << "Ingrese el primer numero: \n";
    cin >> num1;
    cout << "Ingrese el segundo numero: \n";
    cin >> num2;
    // Seleccionamos el mayor y el menor y los
    // asignamos a las variables "a" y "b"
    a = std::max(num1,num2);
    b = std::min(num1,num2);
    // Creamos el ciclo que realizará las iteraciones
    do {
        res = b;
        b = a%b;
        a = res;
    } while (b!=0);
    // Mostramos el resultado en pantalla
    cout << "El M.C.D. entre "<<num1<<" y "<<num2<<" es: "<<res;
    return 0;
}

Bien, ahora solo nos queda probar este código y nuevamente como lo hemos venido haciendo en los otros lenguajes, haremos la prueba con los números 12 y 16, los cuales nos deben arrojar como resultado el número 4:

Salida en Pantalla - Como Hallar el Máximo Común Divisor en C++

1 comentario:

  1. hola y como se hace aplicando funcion?
    1)Desarrollar una función que calcule el máximo común divisor de dos números enteros A, B con el siguiente algoritmo:
    1.Dividir A por B, y calcular el resto (0 < R < B)
    2.Si R = 0, el MCD es B, si no seguir en 3.
    3.Reemplazar A por B, B por R, y volver al paso 1.

    ResponderBorrar