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.

  • 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.

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

© Kevin Maurizi

  • modul/m323/learningunits/lu04/aufgaben/reduce2.txt
  • Last modified: 2023/11/13 08:56
  • by 127.0.0.1