Pages

miércoles, 30 de enero de 2013

Calcular los cinco primeros números perfectos Codigo Fuente en Visual Basic

Problema
Diseñar un algoritmo que permita calcular los 5 primeros números perfectos (un número es perfecto, cuando la suma de sus divisores, sin incluirlo al número es exactamente el mismo número). El 6 es un número perfecto por sus divisores son 1,2 y 3.

Codigo Fuente en Visual Basic
Public Class Form1
    Dim cad As String = ""
    Dim p() As Integer
    Private Sub Button1_Click(ByVal sender As System.Object,
    ByVal e As System.EventArgs) Handles Button1.Click
        ReDim p(10)
        Dim b As Integer = 1
        Dim a As Integer
        For k As Integer = 2 To 701
            a = 0
            For i As Integer = 1 To k + 1
                If (k Mod i = 0) Then
                    a = a + i
                    If ((a - k) = k) Then
                        p(b) = k
                        b = b + 1
                    End If
                End If
            Next i
        Next k
        For x As Integer = 1 To b - 1
            cad = cad + " " + Trim(p(x)) + " Es un numeros perfecto" & vbCrLf
        Next x
        TextBox1.Text = cad
    End Sub
End Class

1 comentario: