Das Collatz Problem
Verfasst: Samstag 14. März 2015, 10:32
Hallo ich habe ein problem könntet ihr mir vielleicht helfen den code zu optimieren, da ich gerade nicht weiter komme
es kommen immer falsche ergebnisse heraus
mein problem ist, dass ich xn mit dem modulo berechne und dann kommt halt das ergebnis von dem modulo raus ich möchte eigentlich , dass wenn die zahl gerade ist dann wird xn = xn/2 gerechnet und wenn es ungerade ist wird xn=3*xn+1 gerechnet
https://de.wikipedia.org/wiki/Collatz-Problem
das war dann die terminal ausgabe
Code: Alles auswählen
Das Collatz-Problem
xn=input("Geben sie die zu berechnende Zahl an: ")
a = int(input("Wie viele Berechnungen?"))
for xn in range(a):
if xn%2==0:
xn=xn/2
print("xgerade = ",xn)
elif xn%2==1:
xn=3*xn+1
print("xungerade = ",xn)
mein problem ist, dass ich xn mit dem modulo berechne und dann kommt halt das ergebnis von dem modulo raus ich möchte eigentlich , dass wenn die zahl gerade ist dann wird xn = xn/2 gerechnet und wenn es ungerade ist wird xn=3*xn+1 gerechnet
https://de.wikipedia.org/wiki/Collatz-Problem
Code: Alles auswählen
Geben sie die zu berechnende Zahl an: 7
Wie viele Berechnungen?10
xgerade = 0.0
xungerade = 2.0
xgerade = 1.0
xungerade = 5.0
xgerade = 2.0
xungerade = 8.0
xgerade = 3.0
xungerade = 11.0
xgerade = 4.0
xungerade = 14.0