piapia123
es

Sucesión de Fibonacci

Generadores

Todo se ejecuta en tu navegador: no se sube nada

Resultado

Cada término es la suma de los dos anteriores: 0, 1, 1, 2, 3, 5, 8, 13… La numeración empieza en 0: F(0) = 0 y F(1) = 1. Circulan dos convenciones — «F(1) = 1, F(2) = 1» y «F(0) = 0, F(1) = 1» — y el mismo «décimo término» queda desplazado uno entre ellas. Y no es una tontería: cuando la sucesión se usa para aritmética de índices, ir uno desviado es ir mal. Esta herramienta usa la convención internacional con base cero (ISO 80000-2) y escribe el índice en cada fila (`F(10)`), así que ves de un vistazo qué convención tienes delante. Por qué hace falta BigInt. F(79) ya roza 2⁵³ y F(80) lo pasa; a partir de ahí los números normales pierden los dígitos bajos en silencio: F(100) calculado como número ordinario da 354224848179262000000, cuando el valor correcto es 354224848179261915075. Mismo número de cifras, mismas cifras iniciales, nada parece raro. Y la sucesión de Fibonacci es justo lo que uno calcula a la ligera hasta el término cien. El modo de búsqueda responde a la pregunta en la otra dirección: ¿este número está en la sucesión y, si lo está, en qué término?

Funciones

  • Cuatro modos: primeros N términos, el término N, términos de a a b y búsqueda inversa
  • Índice con base cero, con el índice impreso en cada fila para que la convención nunca sea ambigua
  • Puedes cambiar los dos primeros términos (0 y 1 por defecto): escribe 2, 1 para los números de Lucas (2, 1, 3, 4, 7, 11…)
  • BigInt de principio a fin: el término 1000 con sus 209 cifras, y hasta el término 10000, son exactos
  • La búsqueda te dice entre qué dos términos cae un número cuando no es de Fibonacci
  • La búsqueda acepta separadores de millares y espacios
  • Un rango invertido (a > b) también funciona
  • Como mucho 500 filas a la vez, y lo que quede fuera se indica en vez de descartarse
  • Cada fila se puede copiar por separado

Cómo se usa

  1. Elige el modo: primeros N, el término N, un rango o una búsqueda
  2. Rellena el valor correspondiente
  3. El resultado aparece mientras escribes; copia un solo término desde su fila

Preguntas frecuentes

¿F(1) es 1 o 0?
Depende de la convención. Esta herramienta usa F(0) = 0 y F(1) = 1, la convención ISO 80000-2 y la que usan la mayoría de los textos de programación. La otra convención habitual empieza en F(1) = F(2) = 1. La sucesión en sí es idéntica; solo cambia la numeración, desplazada uno. Por eso cada fila de aquí lleva su índice en la etiqueta (`F(10)`): verás al momento si el 55 que has obtenido es el décimo término o el undécimo.
¿Por qué los números normales dan mal el resultado?
Porque un número de JavaScript es un flotante de doble precisión con 53 bits significativos: F(80) = 23416728348467685 ya los pasa, así que convertirlo da 23416728348467684. Lo peor es que no falla ni lanza nada: simplemente es uno menos, en silencio. Esta herramienta usa BigInt de principio a fin, así que cualquier número de cifras es exacto.
¿Hasta dónde llega?
El límite de índice es 10000 (F(10000) tiene 2090 cifras, mucho más de lo que cabe en una pantalla). El límite es por la salida: más allá, tanto el área de resultado como lo que copies se vuelven inmanejables. La búsqueda trabaja dentro del mismo límite, y un número que lo supere se informa como no perteneciente a la sucesión en lugar de darlo por buscado.

Herramientas relacionadas