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
|