Seite 1 von 1
Euklidischer Algorithmus
Verfasst: Mittwoch 21. Oktober 2015, 21:32
von stehu92
Hallo,
ich muss bis nächsten Donnerstag für die Uni ein Programm in python schreiben, welches den ggT Teiler von 2 Zahlen ausgibt.
Habe meinen Code auch schon soweit. Nur muss ich noch etwas einbauen! Und zwar: Ist der ggt eine der zwei Zahlen, soll folgender Satz ausgegeben werden: "Der ggT von
number_1 und
number_2 ist bereits
ggt." Kann mir jemand helfen?
Hier mein Code:
Code: Alles auswählen
number_1 = 5
number_2 = 15
if (number_1 == 0):
print number_2
else:
while number_2 != 0:
if (number_1==number_2):
print number_1
if (number_1 > number_2):
number_1 = (number_1 - number_2)
else:
number_2 = (number_2 - number_1)
Re: Euklidischer Algorithmus
Verfasst: Mittwoch 21. Oktober 2015, 22:20
von cofi
Willkommen im Forum und zu Python!
Wir sind nicht dazu da, um deine Hausaufgaben zu machen:
http://www.python-forum.de/viewtopic.php?f=1&t=1689
Zwei Dinge sind wichtig: In welchem Namen ist am Ende der ggT und wenn du den mit den urspruenglichen Zahlen vergleichen willst, dann musst du dir eben merken was die urspruenglichen Zahlen sind.
Re: Euklidischer Algorithmus
Verfasst: Donnerstag 22. Oktober 2015, 07:39
von Sirius3
@stehu92: auch wenn Du erst Anfänger bist, gibt es ein paar Dinge, die man von Anfang an beachten sollte, damit sie einem gleich ins Blut übergehen und man nicht später erst umständlich umlernen muß: Eingerückt wird immer mit 4 Leerzeichen pro Ebene. Klammern nur da einsetzen, wo es nötig ist (wegen Syntax, Semantik oder besserer Lesbarkeit). Variablennamen sollten aussagekräftig sein. Durchnummerierte Namen verlieren aussagekraft so ziemlich. Bei so mathematischen Spielereien sind "a" und "b" als Namen völlig ok.
Code: Alles auswählen
a = 5
b = 15
if a == 0:
print b
else:
while b != 0:
if a == b:
print a
elif a > b:
a -= b
else:
b -= a
Re: Euklidischer Algorithmus
Verfasst: Samstag 24. Oktober 2015, 18:32
von stehu92
Hey danke für eure Antworten,
ich hab mich jetz mal richtig damit beschäftigt und es funktioniert eigentlich auch schon alles. So wie unten funktioniert es einwandfrei.
Nur wenn ich jetz z.B. für a = 2.8 und für b = 1.1 eingebe führt das Programm nichts aus. Kann mir da vielleicht wer weiterhelfen? Erkennt vl wer einen Fehler im Code?
Code: Alles auswählen
#Euclidean Algorithm:
a = 2.4
b = 1.2
if (a == 0):
print b
elif (b == 0):
print a
else:
gcd = a
help = b
while help != 0.0:
if (gcd > help):
gcd = (gcd - help)
else:
help = (help - gcd)
if (b==gcd):
print "Der ggT von %r und %r ist breits %r" %(a,b,gcd)
elif (a==gcd):
print "Der ggT von %r und %r ist breits %r" %(a,b,gcd)
else:
print gcd
Re: Euklidischer Algorithmus
Verfasst: Samstag 24. Oktober 2015, 19:10
von Sirius3
@stehu92: auch wenn Du erst Anfänger bist, gibt es ein paar Dinge, die man von Anfang an beachten sollte, damit sie einem gleich ins Blut übergehen und man nicht später erst umständlich umlernen muß: Eingerückt wird immer mit 4 Leerzeichen pro Ebene. Klammern nur da einsetzen, wo es nötig ist (wegen Syntax, Semantik oder besserer Lesbarkeit).
Für Kommazahlen kann es keinen größten gemeinsamen Teiler geben. Der ist nur für ganze Zahlen definiert.