LU04.A10 - Größter gemeinsamer Teiler mit reduce
Verwende die reduce
-Funktion, um den größten gemeinsamen Teiler (GGT) einer Liste von Zahlen zu finden.
Aufgabenstellung
- Gegeben ist eine Liste von Zahlen, z. B.
[12, 15, 21]
. - Verwende die
reduce
-Funktion, um den größten gemeinsamen Teiler dieser Zahlen zu finden.
In der Aufgabe LU01.A02 haben wir den Algorithmus von Euklid bereits kennengelernt.
Vorlage
from functools import reduce # Der Algorithmus von Euklid ist etwas zu lange um ihn nur als Lambda-Funktion zu schreiben. # Deshalb schreiben wir eine Funktion, die den Algorithmus implementiert. def euklid(a, b): """ Berechnet den größten gemeinsamen Teiler von a und b. Args: - a (int): Eine Zahl. - b (int): Eine Zahl. Returns: - int: Der größte gemeinsame Teiler von a und b. """ return 0 def gcd(numbers): """ Berechnet den größten gemeinsamen Teiler einer Liste von Zahlen. Benutzt dazu die Funktion euklid(a, b) mit reduce(). Args: - numbers (list): Eine Liste von Zahlen. Returns: - int: Der größte gemeinsame Teiler der Liste. """ return 0 if __name__ == '__main__': numbers = [12, 15, 21] result = gcd(numbers) print(result) # Sollte 3 ausgeben