Was berechnet das Programm (Python)?


10.03.2024, 11:09

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


paulfragtgf 
Beitragsersteller
 10.03.2024, 11:21

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.