12. Dezember 200817 j Hallo Leute, ich bin gerade dabei zu entschlüsseln was ich für einen Fehler beim Rechnen mache. Ich kenne mich in C++ aus und gehe aber nochmal die Algorhythmik durch. Von der Seite "http.//tutorial.schornboeck.net/los/fibonacci.htm" gehe ich dieses Prinzip durch und bei der for Schleife komme ich nicht weiter. Ich rechne folgendes: a = 1 b = 1 result = 1 Zahl 8 eingeben -> von 3-8 = Differenz = 5 5 Mal Schleife durchgehen [1] [ result = a + b (2 = 1 + 1) a = b (a = 1) b = result (b= 2) ] [2] [ result = a + b (3 = 1 + 2) a = b (a = 2) b = result (b= 3) ] [3] [ result = a + b (5 = 2 + 3) a = b (a = 3) b = result (b= 5) ] [4] [ result = a + b (8 = 3 + 5) a = b (a = 5) b = result (b= 8) ] [5] [ result = a + b (13 = 5 + 8) a = b (a = 5) b = result (b= 13) ] Result "wäre" dem entsprechend "13":confused: Die hilfsbereite Konsole meldet mir 21 als iterative Lösung :confused: Wo liegt mein Fehler? P.S ach ja, ich habe noch nicht mal das Abi hinter mir. Bin Tüfftler aus Leidenschaft @ 16 years, falls mathematische Kenntnisse nicht reichen Edit: Was mich an der Sache stutzig macht ist das i. Denn wenn das keine Rolle spielen würde, könnte man auch bei 0 beginnen. Es hat wahrscheinlich irgendetwas mit der Regel/Gesetz? zu tun Bearbeitet 12. Dezember 200817 j von c0dy
12. Dezember 200817 j Zahl 8 eingeben -> von 3-8 = Differenz = 5 5 Mal Schleife durchgehenVon 3 bis (einschließlich) 8 sind 6 Schleifendurchläufe. [5] [ result = a + b (13 = 5 + 8) a = b (a = 5) b = result (b= 13) ] a=8. Und im nächsten Schritt kommt dann 13 + 8 = 21 heraus. Edit: Was mich an der Sache stutzig macht ist das i. Denn wenn das keine Rolle spielen würde, könnte man auch bei 0 beginnen. Es hat wahrscheinlich irgendetwas mit der Regel/Gesetz? zu tun Es könnte auch bei 0 anfangen. Der Autor will damit aber vermutlich die Position der Zahl in der Fibonacci-Folge wiedergeben. Die fängt ja mit 0, 1, 1 an. Die Startwerte für a und b sind f1 und f2. Die Funktion berechnet also die Werte erst ab f3.
12. Dezember 200817 j Ah vielen Dank, habs gerade mal mit Zettel und Stift rausbekommen. Danke! Ach ja, vorher habe ich dem Compiler noch die Anweisung gegeben und da habe ich auch 6 Läufe gesehen. Tjaja dieses Sache mit Einschließlich hatte ich immer bei "Mensch ärgere dich nicht" verwechselt:D Result: 2 a: 1 b: 2 Result: 3 a: 2 b: 3 Result: 5 a: 3 b: 5 Result: 8 a: 5 b: 8 Result: 13 a: 8 b: 13 Result: 21 a: 13 b: 21[/PHP]
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.