====== 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 [[modul:m323:learningunits:lu01:aufgaben:imperativereuklid|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
----
https://github.com/templates-python/m323-lu04-a10-reduce
[[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Kevin Maurizi