Seiten

Dienstag, 21. Dezember 2010

VB.NET: Teilermenge einer positiven ganzen Zahl berechnen

Am Wochenende habe ich für ein kleines Tool, an dem ich gerade arbeite, eine Funktion geschrieben, die die Teilermenge einer positiven ganzen Zahl berechnet. Also z.B. alle Teiler der Zahl 465289 sind die Zahlen 1, 11, 42299 und 465289. Für alle, die das mal brauchen gibt es hier die Funktion:


  Private Function GibAlleTeiler(ByVal zahl As Integer) As Integer()

    Dim result As New List(Of Integer)

    result.Add(1)

    Dim n As Integer = 2

    Do Until result.Min * result.Max = zahl

      result.Sort()

      If zahl Mod n = 0 Then

        result.Add(n)

      End If

      If n < zahl / 2 Then

        n += 1

      Else

        result.Add(zahl)

        Exit Do

      End If

    Loop

    Return result.ToArray

  End Function

End Class

Vorschläge zur Verbesserung sind als Kommentar natürlich sehr willkommen.

Keine Kommentare:

Kommentar veröffentlichen