sucesion serie programacion ejercicios conejos biografia algoritmo fibonacci

serie - sucesion de fibonacci ejercicios



En la secuencia de Fibonacci, ¿es fib(0) 0 o 1? (8)

Estoy haciendo una tarea en un tema donde fib (0) se define como = 1. ¿Pero eso no puede ser correcto? fib (0) es 0?

Program with fib(0) = 1; spits out fib(4) = 5 Program with fib(0) = 0; spits out fib(3) = 3

¿Cuál es la definición correcta?


Ambos son correctos. Si especifica una secuencia G {n} por la recursión G {1} = 3, G {2} = 5, G {n} = G {n - 1} + G {n - 2}, la mayoría de la gente estaría de acuerdo en que es "una secuencia de Fibonacci". La única diferencia son unos pocos términos en el frente, pero los términos principales son en su mayoría irrelevantes para cualquier pregunta interesante sobre la secuencia. El corazón de una secuencia de Fibonacci es la regla de adición, y cualquier secuencia que use esa regla es una secuencia de Fibonacci. Solo es necesario especificar si 0 está en la secuencia si desea hacer preguntas específicas sobre un índice en particular ... todo lo demás es solo una traducción en el índice y es bastante irrelevante. Es decir, si el problema es ''encontrar una solución de formato cerrado para el valor Nth en la secuencia'', entonces resolverlo para G resolverá el problema para F con solo un cambio trivial de la solución. La parte difícil del problema es la misma para ambas secuencias.


Basándose en la definición de la secuencia de Fibonacci, puede generar un formulario cerrado para definir el elemento nth:

F(n) = ( f^n - (1-f)^n ) / sqrt(5), where f = (1 + sqrt(5)) / 2 [the golden ratio]

Para n = 0 es claramente 0:

F(0) = (1 - 1) / sqrt(5) = 0.


De la entrada del en.wikipedia.org/wiki/Fibonacci_number en Wikipedia:

En matemáticas, los números de Fibonacci son la siguiente secuencia de números:

Por definición, los dos primeros números de Fibonacci son 0 y 1, y cada número restante es la suma de los dos anteriores. Algunas fuentes omiten el 0 inicial, en lugar de comenzar la secuencia con dos 1s .

En términos matemáticos, la secuencia Fn de los números de Fibonacci se define por la relación de recurrencia

con valores semilla


Estás en lo correcto. La secuencia de Fibonacci se define con valores de semilla fib(0) = 0 y fib(1) = 1 . Este es un requisito para que el resto de la secuencia sea correcta.

La única condición bajo la cual fib(0) = 1 podría funcionar es si definió un "sistema de conteo basado en -1" (a diferencia de las convenciones usuales de basado en 0 y basado en 1). Esto sería bastante raro, sin embargo, estoy seguro de que está de acuerdo.


La definición con Fib (0) = 1 se conoce como la definición combinatoria, y Fib (0) = 0 es la definición clásica. Ambos se utilizan en el Fibonacci Quarterly , aunque los autores que usan la definición combinatoria necesitan agregar una oración de explicación. Benjamin y Quinn en Pruebas que realmente cuentan utilizan f_n para el número de Fibonacci combinatoria y F_n para el número de Fibonacci clásico nth. La definición combinatoria es buena, no es sorprendente que cuente preguntas como "¿Cuántas formas hay para subir un tramo de n pasos, dando uno o dos pasos a la vez?" Cuando n es 0, hay una forma de hacerlo, no cero.


No se puede tener cero conejos y, por lo tanto, producir un par, y "la cantidad original de conejos que se pueden producir en un año, comenzando con un par y reproduciéndose mensualmente a partir del segundo mes" fue la pregunta original para Fibonacci.


en.wikipedia.org/wiki/Fibonacci_number

El mismo Fibonacci comenzó la secuencia con 1 y no con 0. Es importante reconocer que la opinión de uno no es un hecho inalterable, y puede valer la pena considerar que no necesariamente sabe mejor que el tipo que creó la secuencia. Creo que está bien comenzar la secuencia con 0 siempre y cuando no actúes así, esa es la única forma absolutamente correcta de hacer las cosas, ya que el número en el "índice 0" es fundamentalmente ambiguo y siempre debe comunicarse de manera explícita .

La pregunta del "índice" solo se aplica a nosotros y no a Fibonacci. Entonces, si queremos ir con su número inicial y estamos usando índices basados ​​en 0, pondríamos su número inicial en el índice 0, o si estamos usando índices basados ​​en 1 pondríamos su número inicial en el índice 1 .

Y dado que es posible continuar la secuencia a la izquierda, eso también hace que comenzar con 0 sea totalmente arbitrario. ¿Por qué no empezar con -1 e ir -1, 1, 0, 1, 1, 2 ...?


fib 0 = 0 fib 1 = 1

Esa es la definición del valor semilla.