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:
hola y como se hace aplicando funcion?
ResponderBorrar1)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.