Fibonacci -tall med JavaScript

Fibonacci -tall med JavaScript
“JavaScript er nå Ecmascript. Utviklingen av JavaScript videreføres som ECMASCRIPT. Det reserverte ordet "JavaScript" brukes fremdeles, bare for bakoverkompatibilitet.”

Betydning av fibonacci -tall

Fibonacci -tall er en bestemt sekvens av positive heltall, som begynner fra 0. Hele tall er positive heltall. Så et fibonacci -nummer er en bestemt sekvens av hele tall eller naturlige tall, som begynner fra 0. I denne sekvensen er de to første tallene 0 og 1, i den rekkefølgen. Resten av tallene er utviklet derfra ved å legge til de to foregående tallene. De første tolv fibonacci -tallene oppnås som følger:

0
1
1 + 0 = 1
1 + 1 = 2
2 + 1 = 3
3 + 2 = 5
5 + 3 = 8
8 + 5 = 13
13 + 8 = 21
21 + 13 = 34
34 + 21 = 55
55 + 34 = 89

Med andre ord, de første tolv fibonacci -tallene er:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89

Selvfølgelig ville det trettende tallet være: 144 = 55 + 89. Fibonacci -tall kan tenkes å være i en matrise, slik:

0 1 1 2 3 5 8 1. 3 21 34 55 89

En matrise har indekser. I tabellen nedenfor viser den andre raden de tilsvarende nullbaserte indeksene for Fibonacci-tallene i en matrise:

0 1 1 2 3 5 8 1. 3 21 34 55 89
0 1 2 3 4 5 6 7 8 9 10 11

Med nullbaserte indekser, hvis det er tolv elementer, er den siste indeksen 11.

Fibonacci -tall kan produseres i O (n) tid eller i O (1) tid. I disse tidskompleksitetsuttrykkene betyr n n hovedoperasjoner, og 1 betyr 1 hovedoperasjon. Med o (n) produseres n fibonacci -tall, fra 0. Med O (1) produseres ett fibonacci -nummer fra den tilsvarende indeksen. Det er grunnen til at O ​​(1) bare tar en hovedoperasjon i stedet for N -hovedoperasjoner.

Målet med denne artikkelen er å forklare hvordan du kan produsere Fibonacci -tall, uansett ved hjelp av JavaScript, som faktisk er ECMASCRIPT i dag.

Kodingsmiljø

Noden.JS -miljø vil ikke bli brukt som leseren kan ha forventet. I stedet vil nettleseren bli brukt til tolkning av koden og vise resultatene. Skriptet (koden) skal skrives i en tekstredigeringsfil, som skal lagres med utvidelsen ".html.”Skriptet skal ha som minimumskode:




Fibonacci -tall med JavaScript




Dette er en omtrentlig minimumskode en webside trenger. All koding for denne artikkelen går mellom taggene, og .

For å kjøre koden skrevet (lagt til), bare dobbeltklikk på ikonet for filnavnet, og nettleseren på datamaskinen åpner den.

Definisjon av et fibonacci -nummer

Det er en matematisk definisjon for et fibonacci -nummer. Det er definert som følger:

Der FN er et fibonacci-nummer som tilsvarer en nullbasert indeks, n.

De to første tallene: 0 og 1, er forhåndsklærte, i den rekkefølgen. Den siste linjen i denne funksjonen viser hvordan resten av tallene stammer fra de to første tallene i deres ordre.

Denne definisjonen er også en av formlene for Fibonacci -nummeret.

Produserer fibonacci -tall i O (n) tid

Hvis n er 1, vil bare 0 vises som et fibonacci -nummer. Hvis n er 2, vil 0 og 1 vises som fibonacci -tall, i den rekkefølgen. Hvis n er 3, vil 0, 1 og 1 vises som fibonacci -tall i den rekkefølgen. Hvis n er 4, vil 0, 1, 1 og 2 vises som fibonacci -tall, i den rekkefølgen. Hvis n er 5, vil 0, 1, 1, 2 og 3 vises som fibonacci -tall, i den rekkefølgen. Hvis n er 6, vil 0, 1, 1, 2, 3 og 5 vises som fibonacci -tall, i den rekkefølgen - og så videre.

ECMASCRIPT -funksjonen for å generere de første N Fibonacci -heltallene (tall) er:

Denne koden viser det avsluttende skriptetoden. Koden er skrevet under koden ovenfor. Utgangen som vises på websiden er:

0 1 1 2 3 5 8 13 21 34 55 89

som forventet.

Produsere ett fibonacci -nummer i o (1) tid

O (1) er konstant tid. Det refererer til en hovedoperasjon. En annen matematisk formel for å produsere et fibonacci -nummer er:

Legg merke til at det på høyre side av ligningen ikke er kvadratroten til 5 som heves til kraften n; det er uttrykket i parenteser som heves til kraften n. Det er to slike uttrykk.

Hvis n er 0, ville Fibn være 0. Hvis n er 1, ville Fibn være 1. Hvis n er 2, ville Fibn være 1. Hvis n er 3, ville Fibn være 2. Hvis n er 4, ville Fibn være 3 - og så videre. Leseren kan bekrefte denne formelen matematisk ved å erstatte forskjellige verdier med n og evaluere. n er en nullbasert indeks i denne formelen. Resultatet er det tilsvarende Fibonacci -nummeret.

ECMASCRIPT (JavaScript) -koden for denne formelen er:

Koden viser det lukkende skriptetoden. Utgangen er:

89.00000000000003

Det er mulig å fjerne unødvendige desimalsifre fra svaret. Imidlertid er det en diskusjon for en annen gang.

Hvis det kreves mer enn ett Fibonacci -nummer, må koden ringe formelen en gang for hver nullbasert tilsvarende N -indeks.

Konklusjon

Fibonacci -tall er en bestemt sekvens av positive heltall, som begynner fra 0. Hele tall er positive heltall. Så et fibonacci -nummer er en bestemt sekvens av hele tall eller naturlige tall, som begynner fra 0. I denne sekvensen er de to første tallene 0 og 1, i den rekkefølgen. Disse to første tallene er nettopp definert som sådan. Resten av tallene er utviklet derfra ved å legge til de umiddelbare to tallene.

Etter å ha produsert de to første Fibonacci-tallene, for å produsere resten av Fibonacci-tallene, for å ende opp med totalt N-tall, må en For-loop brukes med uttalelsen:

currno = a [i - 1] + a [i - 2];

Dette legger til de umiddelbare de siste to Fibonacci -tallene for å ha det nåværende Fibonacci -nummeret.

Når du får en nullbasert indeks, for å ha det tilsvarende Fibonacci-nummeret, bruk formelen: