Numeri di Fibonacci con JavaScript

Numeri Di Fibonacci Con Javascript



“JavaScript è ora ECMAScript. Lo sviluppo di JavaScript è continuato come ECMAScript. La parola riservata 'javascript' è ancora utilizzata, solo per compatibilità con le versioni precedenti'.

Significato dei numeri di Fibonacci

I numeri di Fibonacci sono una particolare sequenza di interi positivi, a partire da 0. I numeri interi sono interi positivi. Quindi, un numero di Fibonacci è una particolare sequenza di numeri interi o naturali, a partire da 0. In questa sequenza, i primi due numeri sono 0 e 1, in quest'ordine. Il resto dei numeri viene sviluppato da lì aggiungendo i due numeri precedenti. I primi dodici numeri di Fibonacci si ottengono come segue:

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







In altre parole, i primi dodici numeri di Fibonacci sono:



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



Naturalmente, il tredicesimo numero sarebbe: 144 = 55 + 89. Si può immaginare che i numeri di Fibonacci siano in una matrice, in questo modo:





0 1 1 Due 3 5 8 13 ventuno 3. 4 55 89

Un array ha indici. Nella tabella seguente, la seconda riga mostra i corrispondenti indici in base zero per i numeri di Fibonacci in una matrice:

0 1 1 Due 3 5 8 13 ventuno 3. 4 55 89
0 1 Due 3 4 5 6 7 8 9 10 undici

Con indici a base zero, se sono presenti dodici elementi, l'ultimo indice è 11.



I numeri di Fibonacci possono essere prodotti in tempo O(n) o in tempo O(1). In queste espressioni di complessità temporale, n indica n operazioni principali e 1 indica 1 operazione principale. Con O(n), si producono n numeri di Fibonacci, a partire da 0. Con O(1), si ottiene un numero di Fibonacci dall'indice corrispondente. Ecco perché O(1) accetta solo un'operazione principale invece di n operazioni principali.

Lo scopo di questo articolo è spiegare come produrre numeri di Fibonacci, in entrambi i casi, usando JavaScript, che oggi è ECMAScript.

Ambiente di codifica

L'ambiente node.js non verrà utilizzato come il lettore avrebbe potuto prevedere. Il browser verrà invece utilizzato per l'interpretazione del codice e la visualizzazione dei risultati. Lo script (codice) deve essere scritto in un file di editor di testo, che deve essere salvato con l'estensione '.html'. Lo script dovrebbe avere come codice minimo:

DOCTYPE HTML >
< html >
< testa >
< titolo > Numeri di Fibonacci con JavaScript titolo >
testa >
< corpo >
< tipo di script = 'testo/ecmascript' >

sceneggiatura >
corpo >
html >

Questo è un codice minimo approssimativo necessario per una pagina web. Tutta la codifica di questo articolo si trova tra i tag, .

Per eseguire il codice scritto (aggiunto), basta fare doppio clic sull'icona del nome del file, e il browser del computer lo aprirà.

Definizione di numero di Fibonacci

Esiste una definizione matematica per un numero di Fibonacci. È così definito:

Dove Fn è un numero di Fibonacci corrispondente a un indice a base zero, n.

I primi due numeri: 0 e 1, sono pre-dichiarati, in quest'ordine. L'ultima riga di questa funzione mostra come il resto dei numeri ha origine dai primi due numeri nel loro ordine.

Questa definizione è anche una delle formule per il numero di Fibonacci.

Produzione di numeri di Fibonacci in tempo O(n).

Se n è 1, solo 0 verrebbe visualizzato come numero di Fibonacci. Se n è 2, allora 0 e 1 verrebbero visualizzati come numeri di Fibonacci, in quest'ordine. Se n è 3, allora 0, 1 e 1 verrebbero visualizzati come numeri di Fibonacci in quell'ordine. Se n è 4, allora 0, 1, 1 e 2 verrebbero visualizzati come numeri di Fibonacci, in quest'ordine. Se n è 5, allora 0, 1, 1, 2 e 3 verrebbero visualizzati come numeri di Fibonacci, in quest'ordine. Se n è 6, allora 0, 1, 1, 2, 3 e 5 verrebbero visualizzati come numeri di Fibonacci, in quell'ordine – e così via.

La funzione ECMAscript per generare i primi n interi (numeri) di Fibonacci è:

< tipo di script = 'testo/ecmascript' >
funzione fibonacci ( UN ) {
n = UN. lunghezza ;
Se ( n > 0 )
UN [ 0 ] = 0 ;
Se ( n > 1 )
UN [ 1 ] = 1 ;
per ( io = Due ; io < n ; io ++ ) { Sono stati considerati //n=0 e n=2
corn = UN [ io - 1 ] + UN [ io - Due ] ;
UN [ io ] = corn ;
}
}

Il tag script di chiusura non è stato mostrato. La funzione riceve un array. I primi due numeri di Fibonacci sono assegnati alla loro posizione. Il ciclo for itera dall'indice in base zero, 2 a appena sotto n. L'affermazione più importante nel ciclo for è:

currNo = A[i – 1] + A[i – 2];

Questo aggiunge i due numeri immediatamente precedenti nell'array per avere il numero corrente. Al termine dell'esecuzione della funzione fibonacci(), tutti gli elementi dell'array sono i primi n numeri di Fibonacci. Un codice adatto per chiamare la funzione fibonacci() e visualizzare i numeri di Fibonacci è:

N = 12 ;
arr = nuovo Vettore ( N ) ;
fibonacci ( arr ) ;
per ( io = 0 ; io < N ; io ++ )
documento. scrivere ( arr [ io ] + ' ' ) ;
documento. scrivere ( '
'
) ;
sceneggiatura >

Questo codice mostra il tag dello script di chiusura. Il codice è digitato sotto il codice sopra. L'output visualizzato sulla pagina web è:

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

come previsto.

Produzione di un numero di Fibonacci in tempo O(1).

O(1) è il tempo costante. Si riferisce a un'operazione principale. Un'altra formula matematica per produrre un numero di Fibonacci è:

Si noti che sul lato destro dell'equazione, non è la radice quadrata di 5 che viene elevata alla potenza n; è l'espressione tra parentesi che viene elevata alla potenza n. Ci sono due di queste espressioni.

Se n è 0, Fibn sarebbe 0. Se n è 1, Fibn sarebbe 1. Se n è 2, Fibn sarebbe 1. Se n è 3, Fibn sarebbe 2. Se n è 4, Fibn sarebbe 3 – e così via. Il lettore può verificare questa formula matematicamente sostituendo valori diversi per n e valutando. n è un indice in base zero in questa formula. Il risultato è il numero di Fibonacci corrispondente.

Il codice ECMAScript (JavaScript) per questa formula è:

< tipo di script = 'testo/ecmascript' >
funzione fib n ( n ) {
FibN = ( Matematica . po ( ( 1 + Matematica . mq ( 5 ) ) / Due , n ) - Matematica . po ( ( 1 - Matematica . mq ( 5 ) ) / Due , n ) ) / Matematica . mq ( 5 ) ;
Restituzione FibN ;
}

Il tag script di chiusura non è stato mostrato. Nota come sono state utilizzate le funzioni predefinite di potenza (pow) e radice quadrata (sqrt). In ECMAScript (JavaScript), non è necessario importare il modulo Math. La funzione fibNo() implementa direttamente la formula. Una chiamata e una visualizzazione adatte per la funzione fibNo() sulla pagina web sono:

N = undici ;
Giusto = fib n ( N ) ;
documento. scrivere ( Giusto ) ;
sceneggiatura >

Il codice mostra il tag dello script di chiusura. L'uscita è:

89.00000000000003

È possibile rimuovere le cifre decimali non necessarie dalla risposta. Tuttavia, questa è una discussione per un'altra volta.

Se è richiesto più di un numero di Fibonacci, il codice deve chiamare la formula una volta per ogni indice n corrispondente a base zero.

Conclusione

I numeri di Fibonacci sono una particolare sequenza di interi positivi, a partire da 0. I numeri interi sono interi positivi. Quindi, un numero di Fibonacci è una particolare sequenza di numeri interi o naturali, a partire da 0. In questa sequenza, i primi due numeri sono 0 e 1, in quest'ordine. Questi primi due numeri sono semplicemente definiti come tali. Il resto dei numeri viene sviluppato da lì sommando i due numeri immediatamente precedenti.

Dopo aver prodotto i primi due numeri di Fibonacci, per produrre il resto dei numeri di Fibonacci, per ottenere un totale di n numeri, è necessario utilizzare un ciclo for con l'istruzione:

currNo = A[i – 1] + A[i – 2];

Questo aggiunge gli ultimi due numeri di Fibonacci immediati per avere il numero di Fibonacci corrente.

Quando viene assegnato un indice a base zero, per avere il numero di Fibonacci corrispondente, utilizzare la formula: