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: