Números de Fibonacci con JavaScript

Numeros De Fibonacci Con Javascript



“JavaScript ahora es ECMAScript. El desarrollo de JavaScript continúa como ECMAScript. La palabra reservada 'javascript' todavía se usa, solo por compatibilidad con versiones anteriores'.

Significado de los números de Fibonacci

Los números de Fibonacci son una secuencia particular de números enteros positivos, comenzando desde 0. Los números enteros son números enteros positivos. Entonces, un número de Fibonacci es una secuencia particular de números enteros o números naturales, comenzando desde 0. En esta secuencia, los dos primeros números son 0 y 1, en ese orden. El resto de los números se desarrollan a partir de ahí sumando los dos números anteriores. Los primeros doce números de Fibonacci se obtienen de la siguiente manera:

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







En otras palabras, los primeros doce números de Fibonacci son:



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



Por supuesto, el decimotercer número sería: 144 = 55 + 89. Se puede imaginar que los números de Fibonacci están en una matriz, así:





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

Una matriz tiene índices. En la siguiente tabla, la segunda fila muestra los índices de base cero correspondientes para los números de Fibonacci en una matriz:

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

Con índices de base cero, si hay doce elementos, el último índice es 11.



Los números de Fibonacci se pueden producir en tiempo O(n) o en tiempo O(1). En estas expresiones de complejidad temporal, n significa n operaciones principales y 1 significa 1 operación principal. Con O(n), se producen n números de Fibonacci, comenzando desde 0. Con O(1), se produce un número de Fibonacci a partir del índice correspondiente. Es por eso que O(1) toma solo una operación principal en lugar de n operaciones principales.

El objetivo de este artículo es explicar cómo producir números de Fibonacci, de cualquier manera, usando JavaScript, que en realidad es ECMAScript hoy.

Entorno de codificación

El entorno node.js no se utilizará como el lector podría haber anticipado. En su lugar, se utilizará el navegador para interpretar el código y mostrar los resultados. El script (código) debe escribirse en un archivo de editor de texto, que debe guardarse con la extensión '.html'. El script debe tener como código mínimo:

    DOCTIPO HTML >
    < html >
    < cabeza >
        < título > Números de Fibonacci con JavaScript título >
    cabeza >
    < cuerpo >
    < tipo de guión = 'texto/ecmascript' >
   
    guion >
    cuerpo >
    html >

Este es un código mínimo aproximado que necesita una página web. Toda la codificación de este artículo va entre las etiquetas, .

Para ejecutar el código escrito (agregado), simplemente haga doble clic en el icono del nombre del archivo y el navegador de la computadora lo abrirá.

Definición de un número de Fibonacci

Hay una definición matemática para un número de Fibonacci. Se define de la siguiente manera:

Donde Fn es un número de Fibonacci correspondiente a un índice de base cero, n.

Los dos primeros números: 0 y 1, están predeclarados, en ese orden. La última línea de esta función muestra cómo el resto de los números se originan a partir de los dos primeros números en su orden.

Esta definición es también una de las fórmulas del número de Fibonacci.

Producción de números de Fibonacci en tiempo O(n)

Si n es 1, entonces solo se mostrará 0 como número de Fibonacci. Si n es 2, entonces 0 y 1 se mostrarían como números de Fibonacci, en ese orden. Si n es 3, entonces 0, 1 y 1 se mostrarían como números de Fibonacci en ese orden. Si n es 4, entonces 0, 1, 1 y 2 se mostrarían como números de Fibonacci, en ese orden. Si n es 5, entonces 0, 1, 1, 2 y 3 se mostrarían como números de Fibonacci, en ese orden. Si n es 6, entonces 0, 1, 1, 2, 3 y 5 se mostrarían como números de Fibonacci, en ese orden, y así sucesivamente.

La función ECMAscript para generar los primeros n enteros (números) de Fibonacci es:

    < tipo de guión = 'texto/ecmascript' >
        función fibonacci ( A ) {
norte = UNA. longitud ;
            si ( norte > 0 )
A [ 0 ] = 0 ;
            si ( norte > 1 )
A [ 1 ] = 1 ;
            por ( i = 2 ; i < norte ; i ++ ) {   //n=0 y n=2 han sido considerados
currNo = A [ i - 1 ] + A [ i - 2 ] ;
A [ i ] = currNo ;
            }
        }

No se ha mostrado la etiqueta del script de cierre. La función recibe una matriz. Los dos primeros números de Fibonacci se asignan en su posición. El ciclo for itera desde el índice de base cero, 2 hasta justo debajo de n. La declaración más importante en el bucle for es:

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

Esto agrega los dos números inmediatamente anteriores en la matriz para tener el número actual. Cuando la función fibonacci() termina de ejecutarse, todos los elementos de la matriz son los primeros n números de Fibonacci. Un código adecuado para llamar a la función fibonacci() y mostrar los números de Fibonacci es:

norte = 12 ;
Arr = nuevo Formación ( norte ) ;
fibonacci ( Arr ) ;
        por ( i = 0 ; i < norte ; i ++ )
documento. escribe ( Arr [ i ] + ' ' ) ;
documento. escribe ( '
'
) ;
    guion >

Este código muestra la etiqueta del script de cierre. El código se escribe debajo del código anterior. El resultado que se muestra en la página web es:

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

como se esperaba.

Producción de un número de Fibonacci en tiempo O(1)

O(1) es tiempo constante. Se refiere a una operación principal. Otra fórmula matemática para producir un número de Fibonacci es:

Tenga en cuenta que en el lado derecho de la ecuación, no es la raíz cuadrada de 5 la que está elevada a la potencia n; es la expresión entre paréntesis que está elevada a la potencia n. Hay dos expresiones de este tipo.

Si n es 0, Fibn sería 0. Si n es 1, Fibn sería 1. Si n es 2, Fibn sería 1. Si n es 3, Fibn sería 2. Si n es 4, Fibn sería 3 – y así. El lector puede verificar esta fórmula matemáticamente sustituyendo diferentes valores por n y evaluando. n es un índice basado en cero en esta fórmula. El resultado es el número de Fibonacci correspondiente.

El código ECMAScript (JavaScript) para esta fórmula es:

    < tipo de guión = 'texto/ecmascript' >
        función FibNo ( norte ) {
FibN = ( Matemáticas . pow ( ( 1 + Matemáticas . sqrt ( 5 ) ) / 2 , norte ) - Matemáticas . pow ( ( 1 - Matemáticas . sqrt ( 5 ) ) / 2 , norte ) ) / Matemáticas . sqrt ( 5 ) ;
            devolver FibN ;
        }

No se ha mostrado la etiqueta del script de cierre. Observe cómo se han utilizado las funciones predefinidas de potencia (pow) y raíz cuadrada (sqrt). En ECMAScript (JavaScript), no es necesario importar el módulo matemático. La función fibNo() implementa la fórmula directamente. Una llamada y visualización adecuadas para la función fibNo() en la página web son:

norte = 11 ;
Correcto = FibNo ( norte ) ;
documento. escribe ( Correcto ) ;
    guion >

El código muestra la etiqueta del script de cierre. La salida es:

89.00000000000003

Es posible eliminar los dígitos decimales innecesarios de la respuesta. Sin embargo, esa es una discusión para otro momento.

Si se requiere más de un número de Fibonacci, entonces el código tiene que llamar a la fórmula una vez para cada índice n correspondiente basado en cero.

Conclusión

Los números de Fibonacci son una secuencia particular de números enteros positivos, comenzando desde 0. Los números enteros son números enteros positivos. Entonces, un número de Fibonacci es una secuencia particular de números enteros o números naturales, comenzando desde 0. En esta secuencia, los dos primeros números son 0 y 1, en ese orden. Estos dos primeros números se definen simplemente como tales. El resto de los números se desarrollan a partir de ahí sumando los dos números inmediatamente anteriores.

Después de producir los primeros dos números de Fibonacci, para producir el resto de los números de Fibonacci, para terminar con un total de n números, se debe usar un ciclo for con la declaración:

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

Esto suma los dos últimos números de Fibonacci inmediatos para tener el número de Fibonacci actual.

Cuando se le dé un índice basado en cero, para tener el número de Fibonacci correspondiente, use la fórmula: