Python :: Aufgabe #60

4 Lösungen Lösungen öffentlich

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.

Lösungen:

vote_ok
von Sticitov (170 Punkte) - 01.03.2015 um 21:20 Uhr
Quellcode ausblenden Python-Code
z1 = input('1. Zahl? ')
z2 = input('2. Zahl? ')
z1 = int(z1)
z2 = int(z2)

if z1 == 0:
    print(z2)
else:
    while z2 != 0:
        if z1 > z2:
            z1 = z1 - z2
        else:
            z2 = z2 - z1
print('Der größte gemeinsame Teiler ist ' + str(z1))
1x
vote_ok
von frfrey (370 Punkte) - 16.03.2015 um 21:43 Uhr
Quellcode ausblenden Python-Code
def ggt(a, b):
    while b!=0:
        c=a%b
        a=b
        b=c
    return a

while True:
    a = int(raw_input("Geben Sie Zahl 1 ein:"))
    b = int(raw_input("Geben Sie Zahl 2 ein:"))
    print "Der größte gemeinsame Teiler ist:",ggt(a,b)

2 Kommentare
1x
vote_ok
von Nachbar (2820 Punkte) - 07.07.2016 um 09:35 Uhr
Quellcode ausblenden Python-Code
def ggT(x, y):
   z = x % y
   if z == 0:
      return y
   return ggT(y, z)

print ggT(input("Zahl 1: "), input("Zahl 2: "))
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)
                                

2092863

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.