ggT in Excel via Makro berechnen?
Hello World an alle Programmierer da draußen. Ich muss das ggT zweier Zahlen in Excel berechnen. Ich bekomme es einfach nicht gebacken, den Code in Makro zu schreiben. Das ist Hausübung, keiner von uns kriegt das hin. Unser Lehrer will auch noch ein Flussdiagramm (???) und einen Programmablaufplan. Send help!
1 Antwort
Function GGT1(a As Long, b As Long) As Long
So ungefähr.
While a <> b
If a > b Then
a = a - b
Else
b = b - a
End If
Loop While a <> b
GGT1 = a
End Function
Function GGT2(ByVal a As Long, ByVal b As Long) As Long
While (a > 0) And (b > 0) ' Abbruch, sobald a*b <= 0
If a > b Then ' Der größere Wert wird überschrieben
a = a Mod b
Else
b = b Mod a
End If
Wend
GGT2 = a + b ' Ein Summand ist sicher 0
End Function
Public Function ggT3(A, B) As Long
Dim Rest As Long, TempA As Long, TempB As Long
' Fehlerprüfung
If IsNull(A) Or IsNull(B) Then Exit Function
If (A = 0) Or (A <> Int(A)) Then Exit Function
If (B = 0) Or (B <> Int(B)) Then Exit Function
ggT3 = 1
TempA = Abs(A)
TempB = Abs(B)
Do
Rest = TempA Mod TempB
TempA = TempB
TempB = Rest
Loop While (Rest <> 0)
ggT3 = TempA
End Function
Vielen vielen Dank, du hast gerade eine ganze Klasse gerettet