Wie berechne ich die n-te Zahl der Fibonacci Folge?
Erstens das obenstehende. Zweitens habe ich auf Wikipedia folgende Formel gefunden, aber kann damit nichts anfangen: f-n= -1^n+1.
6 Antworten
Mit einer Programmiersprache -->
Einfacher Programmtext -->
INPUT "Anzahl der Fibonacci-Zahlen ohne die Zahl 0 "; n
w1 = 0
w2 = 1
i = 1
PRINT i, w2
FOR i = 1 TO (n - 1)
w = w1 + w2
PRINT i + 1, w
w1 = w2
w2 = w
NEXT i
--------------------------------------------------------------------------------------------------
Wenn man die Zahl 0 auch als Fibonacci-Zahl ansehen will, dann kann man das Programm babyleicht abändern.
Du suchst vermutlich nur die primitive Sonderfall Rekursion für ganze Zahlen:
f[x]=f[x-1]+f[x-2]
"Ganzzahlige Funktionswerte berechnen sich aus der Summe der beiden Vorgänger."
Mit einfacher double-Genauigkeit kommen normale Rechner wie der Iterationsrechner
http://www.gerdlamprecht.de/Roemisch_JAVA.htm#ZZZZZ0007
bis etwa Index 78 (Argument x).
Danach wird es ungenau und langsam!
Dabei gibt es längst eine exakte explizite Formel
[((1+sqrt(5))/2)^x-(2/(1+sqrt(5)))^x*cos(pi*x)]/sqrt(5)
sqrt(x)=x^(1/2) ist die Wurzelfunktion.
Der wissenschaftliche Umkehrfunktionen Rechner schafft locker bis Index 9999999999999999999999999999999 und auch komplexe Argumente.
siehe Bild
Teil2:
f(-x)=f(x)*(-1)^(x+1)
In Worte: Wenn Du den Funktionswert negativer Argumente suchst,nimm einfach den der positiven und multipliziere das Ergebnis mit (-1) hoch (x+1).
Ergibt sich automatisch aus meiner expliziten Formel.
Fibonacci(-5)=5*(-1)^6=5
Wahrscheinlich brauchst du das für den Informatik-Unterricht (oder weil du einfach Interesse daran hast). Wenn das n sagen wir kleiner 20 ist, kannst du das noch einigermaßen bequem mit dem Taschenrechner machen, indem du einfach mit 1 1 anfängst und dann immer die nächste Zahl bildest, indem du die letzten beiden zusammen zählst. Das geht auch mit Excel oder LibreCalc ganz gut. Da du eh schon in die Wikipedia geguckt hast, findest du dort die Werte bis n=50.
Für größere Zahlen nimmst du die Formel von Moivre/Binet, aber dann kriegst du mit dem Taschenrechner auch nur die ersten ca. 10 Stellen.
Die Formel, die du gefunden hast und mit der du nichts anfangen kannst, ist eine Erweiterung auf negative n (Warum hast du dir ausgerechnet die ausgesucht, in dem Artikel steht noch haufenweise anderes unverständliches Zeugs)
Formel von von Moivre/Binet --- irgendwas mit Wurzel5 .. siehe Wikipedia:
Fi+2 = fi+1+ fi
So sagen wir 5. Bindeglied, dazu musst du das 4. und das 3. nehmen und addieren :)
tja und jetzt sag mir mal F100 ohne alle 99 vorher zu berechnen und ne stunde zu brauchen :-)
Tja, dafür gibt es Computer. (:
Da tippst du dann ein, welche du haben möchtest und Zack ist das Ergebnis da (: