Código de Visual Basic para Aplicaciones - Divisores + Números Perfectos

sin imagen de perfil
Val: 85
Ha disminuido 1 puesto en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Divisores + Números Perfectosgráfica de visualizaciones


Visual Basic para Aplicaciones

Publicado el 11 de Agosto del 2017 por David
1.110 visualizaciones desde el 11 de Agosto del 2017
En esta oportunidad, les quiero mostrar una forma de encontrar, por medio de una secuencia, los divisores de N números y sus respectivos números perfectos.
Todo esto bajo programación VBA (Visual Basic for Applications).
Un número perfecto es un número natural que es igual a la suma de sus divisores propios positivos. Dicho de otra forma, un número perfecto es aquel que es amigo de sí mismo.
Así, 6 es un número perfecto porque sus divisores propios son 1, 2 y 3; y 6 = 1 + 2 + 3. Los siguientes números perfectos son 28, 496 y 8128.

np

Requerimientos

Windows, Microsoft Office

1.0

Actualizado el 23 de Octubre del 2017 (Publicado el 11 de Agosto del 2017)gráfica de visualizaciones de la versión: 1.0
1.111 visualizaciones desde el 11 de Agosto del 2017
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
'Creado por David Garcia
'Contacto djgagarcia@gmail.com
Private Sub CommandButton1_Click()
Dim I As Double
Dim J As Double
Dim N As Double
Dim Suma As Double
 
With Hoja1
 
    .Cells.Clear
 
    N = Application.InputBox("COLOQUE LA SECUENCIA", "DIVISORES+PERFECTOS")
 
    .Cells(1, 1) = "SECUENCIA"
    .Cells(1, 2) = "SUMA"
    .Cells(1, 3) = "TIPO"
 
        For I = 1 To N
 
            Suma = 0
 
            For J = I To 1 Step -1
 
                If I Mod J = 0 Then
                    Suma = Suma + J
                .Cells(I + 1, 1) = .Cells(I + 1, 1) & " " & J
                .Cells(I + 1, 2) = Suma - I
                End If
 
 
                If Suma - I = I Then
                    .Cells(I + 1, 3) = "NUMERO PERFECTO"
                Else
                    .Cells(I + 1, 3) = ""
                End If
 
 
            Next J
 
        Next I
 
 
        .Columns(1).HorizontalAlignment = xlLeft
        .Columns(1).AutoFit
 
End With



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4108