Die Community zu .NET und Classic VB.
Menü

FAQ 0124: Wie kann ich die Quersumme einer Zahl berechnen?

 von 

Frage 

Wie kann ich die Quersumme einer Zahl berechnen?

Antwort  

Es gibt mehrere Lösungsmöglichkeiten für dieses Problem.
Die schnellste Lösung ist Variante 1, die langsamste ist Variante 2 (Laufzeitenmessung).

Function Quersumme(ByVal n As Long) As Long
    Dim Result As Long
    
    n = Abs(n)

    Do While n <> 0
        Result = Result + n Mod 10
        n = n \ 10
    Loop
    
    Quersumme = Result
End Function

Listing 1: Quersumme berechnen (Variante 1)

Function Quersumme(ByVal n As Long) As Long
    Dim i As Long
    Dim s As String
    
    s = CStr(Abs(n))
    n = 0
    
    For i = 1 To Len(s)
        n = n + CLng(Mid$(s, i, 1))
    Next i
    
    Quersumme = n
End Function

Listing 2: Quersumme berechnen (Variante 2)

Function Quersumme(ByVal n As Long) As Long
    Select Case n
        Case Is < 0
            Quersumme = Quersumme(-n)

        Case Is < 10
            Quersumme = n

        Case Else
            Quersumme = (n Mod 10) + Quersumme(n \ 10)

    End Select
End Function

Listing 3: Quersumme berechnen (Variante 3)

Ihre Meinung  

Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.