ola tengo una dudar estoi haciendo este algoritmo espero q me ayuden por la logica supiongo que esta bien pero a la hora de hacerlo andar no me mando lo quiero ayuda de antemano gracias Sub mcd() Dim x, n1, n2, i, n, mcd As Integer x = 0 i = 1 n1 = InputBox("ingrese numerador") n2 = InputBox("ingres denominador") If n1 > n2 Then n1 = n ElseIf n2 > n1 Then n2 = n End If Do While i <= n mcd=x If ((n1 Mod n = 0) And (n2 Mod n = 0)) Then [FONT=arial, helvetica, clean, sans-serif]x=i endif i=i+1 loop msgbox("el mcd es ") & x ya eso es . lo otro escrubuendolo como puedo guardar un valor dandose lo sigueiente en un loop mientras una condicion se ciumpla me guarde ese valor del loop si no que avance y pruebe hasta llegar al final guardando el ultimo valor del loop mientras la condicion se cumpla espero puedan ayudarme please [/FONT]
pues donde tienes la linea mcd=x no se para que la usas porque aparte de asignarle el valor de x no haces nada mas con ella puede que el problema radique aqui If ((n1 Mod n = 0) And (n2 Mod n = 0)) Then ya que n no le asignas una variable a n sino que le colocas el valor de n (que esta vacia) a n1 o a n2 dependiendo del valor de estas aqui If n1 > n2 Then n1 = n ElseIf n2 > n1 Then n2 = n End If asi que supongo que primero deberias darle valor a n antes de intentar hacer algo ya que segun como lo veo el if que tienes dentro del while nunca se cumplira, ademas si explicas un poco mas de que es lo que intentas aser te podriamos ayudar un poco mas ya que como no sabemos el resultado que esperas es imposible ayudarte mas
el algoritmo que intento sacar es el del maximo comun divisor el cual es este: Sub mcd() Dim i, n1, n2, n, mcd As Integer n1 = InputBox("ingrese numero 1 ") n2 = InputBox("ingrese numero 2") i = 1 If n1 >= n2 Then n = n1 End If If n1 < n2 Then n = n2 End If Do While i <= n If (n1 Mod i) = 0 And (n2 Mod i) = 0 Then mcd = i End If i = i + 1 Loop MsgBox ("el mcd es ") & mcd ahora el programa se me queda pegado ,supongo que la logica del programa esta buena pero en algo estoi fallando
Utiliza el algoritmo de euclides, el cual dice así: Cuando llegue a la casa lo intentaré en php. Saludos.