Foros del Web » Programando para Internet » PHP »

Ayuda con Script para sacar el MCM

Estas en el tema de Ayuda con Script para sacar el MCM en el foro de PHP en Foros del Web. Hola, tengo un problema con un script para poder sacar el MCM (mínimo común múltiplo). logré desarrollar mi script pero para 2 números. (funciona perfectamente): ...
  #1 (permalink)  
Antiguo 23/05/2009, 11:06
 
Fecha de Ingreso: febrero-2009
Mensajes: 15
Antigüedad: 15 años, 2 meses
Puntos: 0
Ayuda con Script para sacar el MCM

Hola, tengo un problema con un script para poder sacar el MCM (mínimo común múltiplo).

logré desarrollar mi script pero para 2 números. (funciona perfectamente):
Código PHP:
function mcd($a,$b) {
    while ((
$a $b) <> 0) {
    
$c $b;
    
$b $a $b;
    
$a $c;
    }
    return 
$b;
}
echo (
$a*$b)/mcd($a,$b); 
ahora mi problema es si quiero sacar de 3 ó más números.

alguna idea de como podría hacerlo?

desde ya mil gracias.
  #2 (permalink)  
Antiguo 23/05/2009, 11:34
Usuario no validado
 
Fecha de Ingreso: octubre-2008
Ubicación: BRUSELAS
Mensajes: 211
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: Ayuda con Script para sacar el MCM

pues primero necesitas saber el numero de parametros que pasas.. func_num_args() esta funtion devuelve el numero de parametros pasados. Con esto sabras cuantas veces tienes que hacer el bucle, dentro de ese bucle necesitaras poner tu script cambiandolo un poco, en vez de poner $a y $b, tendras que poner func_get_arg() la cual contiene los parametros pasados a la function

yo haria algo asi:
Código PHP:
function mcd($a,$b) {
$num_parametros=func_num_args();
for(
$i=0;$i<$num_parametros;$i++){

          while ((
func_get_arg(0) % func_get_args($i)) <> 0) { 
              
//y cambiando esto..
              /*$c = $b;
              $b = $a % $b; 
              $a = $c;*/ 
          

          return 
$b
     }

echo (
$a*$b)/mcd($a,$b); 
  #3 (permalink)  
Antiguo 23/05/2009, 11:49
 
Fecha de Ingreso: febrero-2009
Mensajes: 15
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Ayuda con Script para sacar el MCM

Hola fatasma gracias por responder mi pregunta. pero no entiendo tu respuesta.

en mi caso seria si hay que sacar mínimo común múltiplo a 3 ó más números

ejemplo con 3
Código PHP:
function mcd($a,$b,$c) { 
// lo que continua aquí no sé como iría,
....
}
echo (
$a*$b*$c)/mcd($a,$b,$c); // esto está bien? 
  #4 (permalink)  
Antiguo 23/05/2009, 12:37
Usuario no validado
 
Fecha de Ingreso: octubre-2008
Ubicación: BRUSELAS
Mensajes: 211
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: Ayuda con Script para sacar el MCM

la function deberia de ser asi

function mcd(){

}
cuando la llamas, la llamas asi mcd($a,$b,$c);

dentro de la funcion

debes averiguar cuantos parametros se han pasados.. en este caso son 3..
para hacer eso debes usar la function func_num_args() la cual devuelve 3 (en este caso)

me perdi un curso de mates y se me olvido el mcm

pero digo, se podria calcular haciendo esto como lo haces tu

$a % $b y luego calcular $a % $c ??
te dejo esto haber si te puede ayudar
Código PHP:
function mcd()
{  
     
//sacamos el numero de parametros enviados
     
$numero_param=func_num_args();//$numero_param=3

     
for($i=0;$i<$numero_param;$i++)
     {
          
//func_get_arg(), contiene la lista de argumentos pasados
          //func_get_arg(0) = 4...
          //func_get_arg(1) = 5...
          //...
       
     
}


$a=4;$b=5;$c=6;
echo (
$a*$b*$c)/mcd($a,$b,$c); 
pero claro como no me acuerdo muy bien del calculo del minimo comun multiplo no te puedo ayudar mucho :s

suerte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:29.