Fibonacci-Folgen-Generator
Fibonacci-Zahlen bis zu beliebiger Länge generieren.
Geprüft von ZeroUtil Editorial Team · Zuletzt geprüft
Den Fibonacci-Generator verwenden
- Gib eine Anzahl ein - wie viele Fibonacci-Zahlen du möchtest, von 1 bis 100. Die Eingabe akzeptiert nur Ganzzahl-Tastenanschläge.
- Drücke Generieren. Die Folge wird sofort gerendert und jede Zahl ist in einem Monospace-Raster angeordnet, damit lange Werte ausgerichtet bleiben.
- Überprüfe die laufende Summe unter der Liste; sie entspricht F(n+2) - 1 durch eine klassische Identität, und das Werkzeug berechnet sie beim Iterieren.
- Kopiere die Folge mit der Schaltfläche "Alle kopieren". Das Ergebnis ist eine kommagetrennte Zeichenfolge, bereit zum Einfügen in eine Tabellenkalkulation oder einen Code-Editor.
- Lösche und versuche eine neue Anzahl so oft du möchtest; nichts wird zwischen Läufen zwischengespeichert.
Wie die Folge berechnet wird
Das Werkzeug verwendet Bottom-up-iterative Akkumulation: Es beginnt mit a = 0n und b = 1n, dann wiederholt es die Zuweisung [a, b] = [b, a + b], bis es die angeforderte Anzahl erzeugt hat. Die Addition verwendet JavaScript-BigInt, weil die 80. Fibonacci-Zahl bereits 253-1 übersteigt, die Grenze sicherer Ganzzahlen in Number, und F(100) ist eine 21-stellige Ganzzahl. Ohne BigInt würden die höheren Terme stumm runden.
Alternative Berechnungspfade existieren. Binets geschlossene Form F(n) = (φn - ψn) / √5, wobei φ = (1 + √5) / 2 der Goldene Schnitt und ψ = (1 - √5) / 2, gibt den n-ten Term in konstanter Zeit, stimmt aber nur mit der wahren Ganzzahl bis etwa F(70) überein, bevor der Gleitkomma-Fehler von IEEE 754 dominiert. Matrix-Exponentiation von [[1, 1], [1, 0]]n gibt F(n) in O(log n) Multiplikationen - die richtige Wahl, wenn du nur einen sehr weit entfernten Term möchtest. Für eine sequenzielle Liste bis n = 100 gewinnt die Iterationsschleife durch Einfachheit.
Warum du Fibonacci verwenden könntest
- Fibonacci-Retracement-Level für eine Charting-Demo ohne eine Trading-Plattform nachahmen.
- Eine Folge erzeugen, um sie in ein Goldener-Schnitt-Layout-Raster für ein Design-Mockup einzuspeisen.
- Eine Programmierwettbewerbs-Lösung schreiben, die exakte große Fibonacci-Werte benötigt, ohne eine Big-Integer-Bibliothek zu installieren.
- Eine Test-Fixture für eine Memoization- oder Dynamic-Programming-Lektion befüllen.
- Die Konvergenz von F(n+1)/F(n) auf φ für einen Mathe-Klub demonstrieren.
- Größen für ein Fibonacci-beabstandetes UI-Kachel-Layout oder eine natürlich aussehende Folge von Verzögerungen generieren.
Randfälle, die es zu kennen lohnt
- Wo beginnt die Folge? Die moderne Konvention sagt F(0) = 0, F(1) = 1, entsprechend der OEIS-Folge A000045 und jeder Standardreferenz. Das Werkzeug verwendet diese Konvention, also ergibt eine angeforderte Zahl
[0]und zwei ergibt[0, 1]. - Anzahlen über 100 sind auf UI-Ebene blockiert. F(100) ist 354.224.848.179.261.915.075; höhere Terme skalieren ungefähr um den Faktor 1,618 pro Schritt und würden schnell das Ausgabefenster überwältigen.
- Sehr große Werte bleiben exakt dank BigInt. F(100) wird vollständig angezeigt, keine wissenschaftliche Notation, kein Runden.
- Summen-Präzision ist ebenfalls BigInt, sodass die Summe der ersten 100 Fibonacci-Zahlen exakt 927.372.692.193.078.999.175 ist, nicht gerundet.
- Anzahl null wird als leer behandelt - das Ausgabefenster zeigt nichts statt einen Fehler zu werfen.
- Das angezeigte Verhältnis zwischen aufeinanderfolgenden Termen stabilisiert sich beim Goldenen Schnitt φ ≈ 1,6180339887 bei etwa F(20); der Dezimalwert wird auf 10 Stellen in der Anzeige abgeschnitten.
Eine kurze Geschichte der Folge
Die Folge erscheint in der indischen Prosodie tausend Jahre vor Fibonacci, zuerst beschrieben von Pingala um 450 v.Chr. und ausgearbeitet von Virahanka (6. Jahrhundert n.Chr.), Gopala und Hemachandra (12. Jahrhundert) für das Zählen von Sanskrit-Metren. In Europa gelangte sie durch Leonardo von Pisa, bekannt als Fibonacci, der sie in der Liber Abaci (1202) verwendete, um ein idealisiertes Kaninchen-Zuchtproblem zu modellieren. Die Verbindung zum Goldenen Schnitt war den Griechen bekannt (Euklids extremes und mittleres Verhältnis), aber der algebraische Zusammenhang mit der Folge - das Verhältnis F(n+1)/F(n) → φ - wurde von Kepler 1611 formalisiert. Binets geschlossene Form wurde 1843 von Jacques Philippe Marie Binet veröffentlicht, obwohl de Moivre und Euler sie beide früher abgeleitet hatten. Die ISO-Standardnotation verwendet Fn für den n-ten Term.
Browser-Werkzeug vs. Code-Bibliotheken und OEIS
Wenn du einen einzelnen sehr großen Term benötigst, gibt sympy.fibonacci in Python oder Fibonacci in Mathematica dir F(106) in unter einer Sekunde mit schneller Verdopplung. Das OEIS (oeis.org) pflegt die definitive Folgen-Datenbank, mit B-Dateien, die die ersten 104 oder mehr Terme vorberechnet enthalten. Hardware-Rechner hören normalerweise bei etwa F(50) auf wegen ihrer Anzeigegenauigkeit. Tabellenkalkulationen können bis etwa F(70) berechnen, bevor die Ganzzahl-Präzision im standardmäßigen Doppelpräzisions-Format verloren geht. Was dieses Browser-Werkzeug bietet, ist eine Installationsfreie, exakt-arithmetische Liste jedes Präfixes bis 100, mit der Summenidentität visuell demonstriert - ideal für schnelle Referenz, Unterrichtsgebrauch und das Überprüfen anderer Werkzeuge.
Häufig gestellte Fragen
Warum beginnt die Folge mit 0 statt 1?
Die moderne Konvention legt <em>F</em>(0) = 0 und <em>F</em>(1) = 1 fest. Das ist die Konvention von OEIS A000045, Knuths <em>The Art of Computer Programming</em> und den meisten zeitgenössischen Kombinatorik-Lehrbüchern. Das Beginnen mit 0 lässt die Rekurrenz <em>F</em>(<em>n</em>) = <em>F</em>(<em>n</em>-1) + <em>F</em>(<em>n</em>-2) für alle <em>n</em> ≥ 2 ohne Sonderfall funktionieren und stimmt mit der Indizierung in Binets Formel überein.
Wie hängt Binets Formel mit dem zusammen, was das Werkzeug berechnet?
Binets Formel <em>F</em>(<em>n</em>) = (φ<sup><em>n</em></sup> - ψ<sup><em>n</em></sup>) / √5 gibt die <em>n</em>-te Fibonacci-Zahl in geschlossener Form, wobei φ der Goldene Schnitt und ψ = 1 - φ. Das Werkzeug verwendet sie nicht direkt, weil IEEE-754-Doubles nur 53 Bits Mantisse haben und φ<sup><em>n</em></sup> ab etwa <em>n</em> = 70 ganzzahlige Präzision verliert. Iterative Ganzzahl-Akkumulation mit BigInt gibt für jedes <em>n</em> ≤ 100 exakte Antworten.
Warum wird BigInt für größere Terme benötigt?
Javascripts Standard-<code>number</code>-Typ speichert Ganzzahlen exakt nur bis 2<sup>53</sup>-1. <em>F</em>(78) ist bereits 8.944.394.323.791.464 und <em>F</em>(79) ist 14.472.334.024.676.221, beide bequem im Bereich; <em>F</em>(80) ist 23.416.728.348.467.685, was auch noch passt. Darüber hinaus runden 64-Bit-Gleitkommazahlen auf die nächste darstellbare Ganzzahl, sodass <em>F</em>(80) bis <em>F</em>(100) stumm um ein paar Einheiten daneben liegen würden. BigInt, in ES2020 zur Sprache hinzugefügt, speichert beliebig große Ganzzahlen und eliminiert das Problem.
Sieht der Server meine Anzahl oder die Ausgabe?
Nein. Die Preact-Komponente berechnet die Folge vollständig in deinem Tab mit BigInt-Arithmetik, und die Schaltfläche "Alle kopieren" schreibt in die lokale Zwischenablage. Es gibt keine POST-Anfrage für die Anzahl, kein Logging der generierten Zahlen und nichts wird nach dem Verlassen der Seite gespeichert. Eine DevTools-Netzwerk-Trace bestätigt null ausgehende Anfragen während der Generierung.
Was ist die Beziehung zum Goldenen Schnitt?
Das Verhältnis aufeinanderfolgender Fibonacci-Zahlen konvergiert zum Goldenen Schnitt φ = (1 + √5) / 2 ≈ 1,6180339887. Bis du <em>F</em>(20)/<em>F</em>(19) erreichst, stimmt das Verhältnis mit φ auf acht Dezimalstellen überein. Das ist eine direkte Konsequenz aus Binets geschlossener Form: Mit wachsendem <em>n</em> schrumpft der ψ<sup><em>n</em></sup>-Term gegen null, weil |ψ| < 1, und lässt φ<sup><em>n</em></sup>/√5 als dominierenden Teil.
Gibt es ein Muster in den letzten Stellen der Fibonacci-Zahlen?
Ja, und ein schönes. Die Folge der letzten Dezimalstellen wiederholt sich mit Periode 60 (die Pisano-Periode für Modul 10). Allgemeiner ist die Pisano-Periode für jeden Modul <em>m</em> die Länge des Zyklus von <em>F</em>(<em>n</em>) mod <em>m</em>. Für große <em>m</em> teilt die Periode 6<em>m</em>. Deshalb erfordern modulare Fibonacci-Berechnungen nie beliebige Präzision - du musst nur bis zur Periodenlänge iterieren.
Warum bei 100 aufhören statt 1000?
<em>F</em>(100) ist bereits 21 Stellen; <em>F</em>(1000) wäre 209 Stellen, was in einem Rasterlayout unlesbar wäre. BigInt-Berechnungen bleiben schnell bis mindestens <em>F</em>(10.000), aber die Benutzeroberfläche würde Paginierung, Chunk-Rendering und wahrscheinlich einen Download-Link benötigen. Für sehr weit entfernte Terme verwende eine Sprach-REPL mit schneller Verdopplung oder die OEIS-B-Dateien.
Was ergibt die Summe der ersten <em>n</em> Fibonacci-Zahlen?
Eine klassische Identität: Die Summe von <em>F</em>(0) bis <em>F</em>(<em>n</em>) entspricht <em>F</em>(<em>n</em>+2) - 1. Du kannst es an der Folge selbst überprüfen: 0 + 1 + 1 + 2 + 3 + 5 = 12 = <em>F</em>(8) - 1 = 13 - 1. Der Beweis ist ein zweizeiliges Teleskop- Argument. Das Werkzeug verwendet diese Identität als Kreuzprüfung seiner akkumulierten Summe in der Entwicklung, obwohl die angezeigte Summe die einfache laufende Summe ist.
Können Fibonacci-Zahlen negativ sein?
Ja, wenn du die Folge rückwärts erweiterst. <em>F</em>(-<em>n</em>) = (-1)<sup><em>n</em>+1</sup> <em>F</em>(<em>n</em>), was 0, 1, -1, 2, -3, 5, -8, 13, ... ergibt, wenn du in negative Indizes schreitest. Das Werkzeug zeigt keine negativen Indizes, weil der übliche praktische Bedarf die Vorwärtsfolge ist. Wenn du sie brauchst, berechne <em>F</em>(<em>n</em>) für den positiven Index und wende die Vorzeichenregel an.
Wie vergleicht sich Iteration mit Matrix-Exponentiation?
Iteration ist <em>O</em>(<em>n</em>)-Operationen; Matrix-Exponentiation von [[1,1],[1,0]]<sup><em>n</em></sup> durch wiederholtes Quadrieren ist <em>O</em>(log <em>n</em>). Für eine sequenzielle Liste bis <em>n</em> gewinnt Iteration, weil sie Arbeit wiederverwendet; für einen einzelnen weit entfernten Term gewinnt Matrix-Potenz oder schnelle Verdopplung.
Verwandte Tools
- Zufälliger Zeichenkettengenerator
Zufällige Zeichenketten mit konfigurierbarer Länge und Zeichensatz generieren.
- Zufallszahlengenerator
Zufallszahlen in einem Bereich mit Optionen für Einzigartigkeit und Sortierung generieren.
- ASCII-Art-Generator
Text in große Blockbuchstaben-ASCII-Kunst umwandeln. Unterstützt A-Z, 0-9 und einfache Satzzeichen.
- Schema-Markup-Generator (JSON-LD)
JSON-LD strukturierte Daten für Artikel, FAQ, Produkt, Organisation, LocalBusiness, HowTo, Rezept und Event generieren.
- FAQ Schema Generator (JSON-LD)
Generate FAQPage JSON-LD schema for FAQ sections with Question and Answer nodes.
- Farbpaletten-Generator
Harmonische Farbpaletten, Tailwind-artige 50-900-Skalen und Design-System-Tokens aus jeder Grundfarbe als Hex erstellen. Auch Farbpalette Generator online.
Mehr Math & Calculators
Age Calculator
Calculate exact age in years, months and days from a birthdate.
Open toolArea & Volume Calculator
Calculate area of 2D shapes and volume of 3D solids.
Open toolBMI Calculator
Calculate your Body Mass Index and find your weight category.
Open toolByte / Bit Converter
Convert between bits, bytes, KB, MB, GB, TB and PB.
Open toolDiscount Calculator
Calculate discount amount, sale price, savings, and discounted value with optional sales tax. Supports stacked coupons.
Open toolFraction Calculator
Add, subtract, multiply and divide fractions with simplified results.
Open tool