Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

como hallar todos los divisores pares de primeros N natural?

Estas en el tema de como hallar todos los divisores pares de primeros N natural? en el foro de Visual Basic clásico en Foros del Web. me lo dejaron.. para que lo haga en algoritmo.. para luego pasarlo a visual basic... ya hice como puedo hallar divisores divisores de un N ...
  #1 (permalink)  
Antiguo 12/01/2009, 16:16
Avatar de José_Miguel  
Fecha de Ingreso: septiembre-2006
Ubicación: Arequipa-Perú
Mensajes: 215
Antigüedad: 17 años, 7 meses
Puntos: 0
como hallar todos los divisores pares de primeros N natural?

me lo dejaron.. para que lo haga en algoritmo.. para luego pasarlo a visual basic...
ya hice como puedo hallar divisores divisores de un N natural.. pero como hago para hallar los divisores pares de los primeros N naturales.???
__________________
Como informático Microsoft no me representa, y como usuario tampoco; ya que no cubre mis necesidades.
  #2 (permalink)  
Antiguo 12/01/2009, 22:54
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 1 mes
Puntos: 17
Respuesta: como hallar todos los divisores pares de primeros N natural?

utiliza la funcion mod que sirve obtener el resto o residuo de una divicion ejemplo :

10:2=5
0 =====> residuo

entonces

los primeros n naturales :

for x=1 to n
if x mod 2=0 then
es numero par, haz tu rutina
end if
next x
  #3 (permalink)  
Antiguo 13/01/2009, 13:59
Avatar de José_Miguel  
Fecha de Ingreso: septiembre-2006
Ubicación: Arequipa-Perú
Mensajes: 215
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: como hallar todos los divisores pares de primeros N natural?

--------------------------------------------------
__________________
Como informático Microsoft no me representa, y como usuario tampoco; ya que no cubre mis necesidades.
  #4 (permalink)  
Antiguo 13/01/2009, 14:01
Avatar de José_Miguel  
Fecha de Ingreso: septiembre-2006
Ubicación: Arequipa-Perú
Mensajes: 215
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: como hallar todos los divisores pares de primeros N natural?

Cita:
Iniciado por Kruzado Ver Mensaje
utiliza la funcion mod que sirve obtener el resto o residuo de una divicion ejemplo :

10:2=5
0 =====> residuo

entonces

los primeros n naturales :

for x=1 to n
if x mod 2=0 then
es numero par, haz tu rutina
end if
next x
bueno eso ya sé como hallar divisores los hallo todos... pero el programa tiene que mostrar solo los divisores pares del N..

ejemplo: `pongo 20= divisores son: 1, 2, 4, 5, 10, 20::: pues de estos me debe mostrarsolo losa pares:::2, 4, 10, 20.
porfa como lo hago ...
__________________
Como informático Microsoft no me representa, y como usuario tampoco; ya que no cubre mis necesidades.
  #5 (permalink)  
Antiguo 13/01/2009, 14:27
 
Fecha de Ingreso: octubre-2008
Mensajes: 24
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: como hallar todos los divisores pares de primeros N natural?

SALUDOS ESPERO QUE ESTO TE SIRVA ....

La interfaz tiene 2 textbox y un boton de comando...

Private Sub Command1_Click()
Dim Divisores(10) As Integer
Dim DivisoresPares(10) As Integer
Dim Residuo As Integer
Dim Numero As Integer

Numero = Val(Me.txtNum.Text)
j = 1
For i = 1 To Numero
Residuo = Numero Mod i
If Residuo = 0 Then
Divisores(j) = i
j = j + 1
End If
Next
k = 1
For i = 1 To j - 1
Residuo = Divisores(i) Mod 2
If Residuo = 0 Then
DivisoresPares(k) = Divisores(i)
k = k + 1
End If
Next
'Cargar datos al textbox de respuesta
For i = 1 To k - 1
Me.txtRes.Text = Me.txtRes.Text + Str(DivisoresPares(i))
Next
End Sub
  #6 (permalink)  
Antiguo 14/01/2009, 03:45
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: como hallar todos los divisores pares de primeros N natural?

Cita:
Iniciado por vdiaz18 Ver Mensaje
SALUDOS ESPERO QUE ESTO TE SIRVA ....

La interfaz tiene 2 textbox y un boton de comando...

Private Sub Command1_Click()
Dim Divisores(10) As Integer
Dim DivisoresPares(10) As Integer
Dim Residuo As Integer
Dim Numero As Integer

Numero = Val(Me.txtNum.Text)
j = 1
For i = 1 To Numero
Residuo = Numero Mod i
If Residuo = 0 Then
Divisores(j) = i
j = j + 1
End If
Next
k = 1
For i = 1 To j - 1
Residuo = Divisores(i) Mod 2
If Residuo = 0 Then
DivisoresPares(k) = Divisores(i)
k = k + 1
End If
Next
'Cargar datos al textbox de respuesta
For i = 1 To k - 1
Me.txtRes.Text = Me.txtRes.Text + Str(DivisoresPares(i))
Next
End Sub
Bueno, el código de vdiaz18 solo funciona si "Numero" es 20, con cualquier otro falla.

Alternativa:

Código:
Private Sub Command1_Click()
Dim Numero As Integer, i As Integer, k As Integer, Pares() As Integer, a() As String

Numero = Val(TxtMax.Text)           ' en txtMax: 20 (o cualquier otro)
a() = Split(txtNumeros.Text, ",")   ' en txtNumeros: 1, 2, 4, 5, 10, 20
ReDim Pares(0)
For i = 0 To UBound(a)
    If Val(a(i)) >= Numero Then Exit For
    If Val(a(i)) Mod 2 = 0 Then
        ReDim Preserve Pares(UBound(Pares) + 1)
        Pares(k) = Val(a(i))
        k = k + 1
    End If
Next i
txtRes = ""
For i = 0 To UBound(Pares) - 1
    txtRes.Text = txtRes.Text & Pares(i) & " "  ' txtRes = 2 4 10 20
Next i
End Sub
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 05:23.