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.???
| ||||
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 |
| ||||
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. |
| ||||
Respuesta: como hallar todos los divisores pares de primeros N natural? Cita: 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. |
| |||
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 |
| |||
Respuesta: como hallar todos los divisores pares de primeros N natural? Cita: Bueno, el código de vdiaz18 solo funciona si "Numero" es 20, con cualquier otro falla.
Iniciado por vdiaz18 ![]() 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 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 ![]() |