Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: 7hongo7 en 13 Marzo 2013, 21:01 PM

Título: maximo comun divisor y minimo comun multiplo
Publicado por: 7hongo7 en 13 Marzo 2013, 21:01 PM
Hola a todos tengo un problema eh tratado de hacer un programa que calcule el mínimo común múltiplo y el máximo común divisor por medio del algoritmo de euclides pero no me sale ya lo intente una y otra vez pero nada mas no no si alguien podría ayudarme, como se hace o como es porque realmente no me sale jejejeje muchas gracias por su ayuda.
Título: Re: maximo comun divisor y minimo comun multiplo
Publicado por: 0xDani en 13 Marzo 2013, 21:16 PM
Pon lo que lleves hecho para que podamos ayudarte. No te olvides de usar las etiquetas GeSHi, asi es mas facil que te ayude la gente  ;)
Título: Re: maximo comun divisor y minimo comun multiplo
Publicado por: 85 en 15 Marzo 2013, 03:26 AM

Fijate esto:

http://jonlandrum.com/2012/03/02/finding-the-least-common-multiple-using-euclids-algorithm-and-cpp/

http://stackoverflow.com/questions/3214696/least-common-multiple-of-given-numbers

http://blog.csharphelper.com/2010/01/16/calculate-the-greatest-common-divisor-gcd-and-least-common-multiple-lcm-of-two-integers-in-c.aspx

http://stackoverflow.com/questions/4229870/c-algorithm-to-calculate-least-common-multiple-for-multiple-numbers

http://stackoverflow.com/questions/13569810/least-common-multiple


Saludos
Título: Re: maximo comun divisor y minimo comun multiplo
Publicado por: alt_369 en 15 Marzo 2013, 21:11 PM
Hace un tiempo hice exactamente eso para practicar para clases de aritmética. Te lo dejo aquí, y si no entiendes algo pregunta:

#include <stdio.h>
int main(void){
int a, b, q, r, a1, b1;;
printf("a: ");
scanf("%d", &a);
do{
printf("b: ");
scanf("%d", &b);
}while(!b);
a1=a; b1=b;
q = a/b;
r = a-b*q;
printf("%d = (%d)(%d)+%d\n", a, b, q, r);
while(r){
a = b;
b = r;
q = a/b;
r = a -b*q;
printf("%d = (%d)(%d)+%d\n", a, b, q, r);
}
printf("\n\tMaxim comu divisor: %d\n", b);
printf("\tMinim comu multiple: %d\n", (a1*b1)/b);
return 0;
}



¡Saludos!