Rubrik: Variablen/Strings · Algorithmen/Mathematik | VB-Versionen: VB4, VB5, VB6 | 20.06.03 |
Bestimmung des GGT durch euklidischen Algorithmus Bestimmt den größten gemeinsamen Teiler mithilfe des euklidischen Algorihtmus | ||
Autor: Sascha Kurth | Bewertung: | Views: 25.665 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Die Funktion ggt bestimmt den größten gemeinsamen Teiler mithilfe des euklidischen Algorihtmus.
' Berechnung des GGT mithilfe des ' Euklidischen Algorithmus Public Function ggt(ByVal z1 As Long, ByVal z2 As Long) As Long Dim dummy As Long Dim aktRest As Long ' Wenn die erste Zahl größer ist, dann ' Zahlen tauschen If z1 < z2 Then dummy = z2 z2 = z1 z1 = dummy End If ' Rest bei Ganzzahl-Division aktRest = z1 Mod z2 If aktRest = 0 Then ' Wenn aktRest = 0 ist, ist der GGT die ' kleinere Zahl (z2) ggt = z2 Exit Function Else ' Ansonsten setzen wir den Wert von z1 auf den ' Wert von z2 und den Wert von z2 auf aktRest z1 = z2 z2 = aktRest End If ' Ist der Modulo der Zahlen = 0, so ist der ' GGT gefunden (Abbruchsbedingung) While z1 Mod z2 <> 0 ' Rest berechnen und die Werte neu setzen aktRest = z1 Mod z2 z1 = z2 z2 = aktRest Wend ' Rückgabe: GGT ggt = aktRest End Function