Exponentielles Wachstum, Hufeisenübung - in Python?
Hey. Kommen wir direkt zur Sache. Folgende Aufgabe: Ein Hufeisenschmied verpasst einem Pferd Hufeisen. Es handelt sich um 1 Pferd, also 4 Hufe mit je 6 benötigten Nägeln. Insgesamt benötigt er also 64 Nägel für das Pferd. Bei der Bezahlung gibt es 2 Möglichkeiten: 1. Pauschale von 200€ für gesamtes Pferd. 2. Errechnung des Preises anhand der verbrauchten Nägel. Dabei gilt: Der erste Nagel kostet 1ct, der zweite 2ct, der dritte 4ct, der vierte 8ct usw. Welche option ist billiger?
Erstelle ein (einfaches) Programm zur Berechnung des Preises!
Mein Versuch:
oder als Datei: https://1drv.ms/u/s!AscqSadNRPxBl0ZvRL-PJDAxOcWc?e=X0HrvO
Dabei kommt zum Schluss eine absurd hohe Zahl heraus : 16777216. Ist das mein Fehler oder ist die viel zu groß?
2 Antworten
Berechne das Ganze doch einfach mal ohne Python und du siehst, dein Ergebnis ist um 1 zu hoch:
1+2+4+8+16+32+... = 16777215 ct
oder
2^24 - 1 = 16777215 ct
Zusätzlich würde dein Code ein falsches Ergebnis liefern wenn mehr als 1 Pferd beschlagen wird, es sei denn der Hufschmied fängt nicht wieder mit 1ct für den ersten Nagel des zweiten Pferdes an (und bei 0 Pferden würde er 1ct verlangen).
Weils mir gerade erst auffällt, du hast einen kleinen Schreibfehler in deiner Frage:
4 Hufe mit je 6 benötigten Nägeln. Insgesamt benötigt er also 64 Nägel für das Pferd
Insgesamt sinds 24 Nägel fürs Pferd (4*6).
Diese Zahl ist sogar noch zu niedrig.
Sie ist 2^24, das ist der Preis der 24. Nagels. Da fehlen noch die anderen 23 Nägel. Du musst die Preis nicht nur verdoppeln, sonden auch addieren.
1 + 2 + 4 + 8 + ... + 2^23 + 2^24 = 2^25 - 1 = 33554431.
Nicht ganz, der Preis des 24. Nagel beträgt nur 8388608 ct