Pages

jueves, 17 de enero de 2013

Determinar si dos números son amigos Codigo Fuente en Visual Basic

Problema
Implementar un algoritmo que determine si dos números son amigos.

Solución
Ingresamos dos números a los cuales les extraeremos sus divisores para luego determinar si estos números son amigos

Ejemplo
  • Entrada: 220  y 284
             Suma de Divisores 220:   1+2+4+5+10+11+20+22+44+55+110 = 284
             Suma de Divisores 284:   1+2+4+71+142 = 220
             Son amigos por que la suma de los divisores de un número es igual al otro número.
  • Salida: Son números amigos
Codigo Fuente en Visual Basic
Public Class Form1
    Public Function suma(ByVal N As Integer, ByVal S As Integer)
        For i As Integer = 2 To N / 2
            If (N Mod i = 0) Then
                S = S + i
            End If
        Next i
        Return S
    End Function
    Private Sub Button1_Click(ByVal sender As System.Object,
            ByVal e As System.EventArgs) Handles Button1.Click
        Dim n1 As Integer
        Dim n2 As Integer
        Dim sum1 As Integer = 1
        Dim sum2 As Integer = 1
        n1 = TextBox1.Text
        n2 = TextBox2.Text
        sum1 = suma(n1, sum1)
        sum2 = suma(n2, sum2)
        If ((sum1 = n2) And sum2 = n1) Then
            TextBox3.Text = "Los numeros  " + Trim(n1) +
                " y " + Trim(n2) + " Si son numeros amigos "
        Else
            TextBox3.Text = "Los numeros  " + Trim(n1) +
                " y " + Trim(n2) + " No son numeros amigos "
        End If
    End Sub
End Class

0 comentarios:

Publicar un comentario