Python :: Aufgabe #60 :: Lösung #4

4 Lösungen Lösungen öffentlich
#60

Größter gemeinsamer Teiler

Anfänger - Python von hobeditz - 21.09.2014 um 11:51 Uhr
Entwickeln Sie ein Programm, welches den größten gemeinsamen Teiler zweier Zahlen ermittelt. Die Zahlen sollen vom Nutzer selber bestimmt werden.

Zitat:

Tipp:
Der euklidische Algorithmus könnte helfen.

#4
vote_ok
von Y0uLyric (500 Punkte) - 09.12.2016 um 12:22 Uhr
Quellcode ausblenden Python-Code
def eingabe():

        global x
        global y
        x = int(input("Erste Zahl: "))
        y = int(input("Zweite Zahl: "))

        if x > y:
                x, y = y, x

def teiler_berechnen(x, y):

        global x_teiler
        global y_teiler
        x_teiler = []
        y_teiler = []

        for m in range(2, x+1):
                if x % m == 0:
                        x_teiler.append(m)
        for n in range(2, x+1):
                if y % n == 0:
                        y_teiler.append(n)

def ggt_finden(x_teiler, y_teiler):

        global ggt
        global gemeinsame_teiler
        set1 = set(x_teiler)
        set2 = set(y_teiler)
        set3 = set1.intersection(set2)
        gemeinsame_teiler = list(set3)

        if gemeinsame_teiler != []:
                gemeinsame_teiler.sort()
                ggt = gemeinsame_teiler[-1]
        else:
                ggt = 0

def ausgabe(ggt, gemeinsame_teiler):

        if gemeinsame_teiler == []:
                print("Die zwei Zahlen haben keinen gemeinsamen Teiler")
        else:
                print(str(ggt))

eingabe()
teiler_berechnen(x, y)
ggt_finden(x_teiler, y_teiler)
ausgabe(ggt, gemeinsame_teiler)
                                

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben