Was berechnet das Programm (Python)?
Den Quelltext verstehe ich eigentlich, ist nicht so schwer. Aber ich weiß nicht, was hier mathematisch passiert. Ich verstehe es so, dass die Variable schritte dieses Maximum sein soll, also "nach wie vielen Schritten das Programm spätestens abbrechen soll".
Für mich wirkt es wie ein Programm, was den Mittelwert berechnet, aber das macht wenig Sinn, wenn man nur eine Zahl eingibt. Was passiert hier?
Hier noch der Code
zahl = int(input("Eingabe Zahl: "))
maximum = int(input("Eingabe Maximum: "))
untereGrenze = (zahl+1)/2
obereGrenze = float(zahl)/untereGrenze
for i in range(2, maximum+1):
print("Ausführung Nr. {}".format(i))
if(obereGrenze - untereGrenze != 0):
untereGrenze = (untereGrenze + obereGrenze)/2
obereGrenze = zahl / untereGrenze
print(f"{i}) zwischen: {untereGrenze}\t und \t {obereGrenze}")
elif(obereGrenze == untereGrenze):
print(f"Die gesuche Zahl ist: {untereGrenze}.")
break
1 Antwort
Also ich kenne das aus Mathe, um die Quadratwurzel zu berechnen.
In deinem Beispiel aus 25
Zuerst muss man überlegen, welche beiden Zahlen x1 und y1 multipliziert 25 ergeben -> Schritt 1
Dann werden die beiden Zahlen addiert und durch zwei geteilt (Mittelwert) ((x1+y1)/2), dann teilt man 25 durch diesen Mittelwert
Die nächsten Zahlen x2 und y2 sind dann der Mittelwert und 25 geteilt durch Mittelwert
Am Ende kommen dann 5 und 5 raus, da √25 = 5
ich denke dein Programm führt diese Berechnung aus
Okay krass, da wäre ich niemals drauf gekommen. Aber klingt sehr einleuchtend. Danke für die Lösung und auch deine ausführliche Erklärung.