Solución Sea F(x) el número de parejas de conejos adultos pasados x meses. Podemos ver claramente que pasados 0 meses hay 0 parejas adultas y pasado un mes hay una sola pareja adulta. Es decir F(0) = 0 y F(1) = 1. Ahora, suponiendo que para alguna x ya sabemos F(0), F(1), F(2), F(3),
:::, F(x -1), en base a eso ¾cómo podemos saber el valor de F(x)? Si en un mes se tienen a parejas jóvenes y b parejas adultas, al siguiente mes se tendrán a + b parejas adultas y b parejas jóvenes. Por lo tanto, el número de conejos adultos en un mes n, es el número de conejos adultos en el mes n-1 más el número de conejos jóvenes en el mes n-1.Como el número de conejos jóvenes en el mes n-1 es el número de conejos adultos en el mes n-2, entonces podemos concluir que:
F(0) = 0
F(1) = 1
F(n) = F(n - 1) + F(n -2)
:::, F(x -1), en base a eso ¾cómo podemos saber el valor de F(x)? Si en un mes se tienen a parejas jóvenes y b parejas adultas, al siguiente mes se tendrán a + b parejas adultas y b parejas jóvenes. Por lo tanto, el número de conejos adultos en un mes n, es el número de conejos adultos en el mes n-1 más el número de conejos jóvenes en el mes n-1.Como el número de conejos jóvenes en el mes n-1 es el número de conejos adultos en el mes n-2, entonces podemos concluir que:
F(0) = 0
F(1) = 1
F(n) = F(n - 1) + F(n -2)
El siguiente código en C muestra una implementación de una función recursiva para resolver el problema planteado por Fibonacci:
int F( int n) { i f (n==0){ return 0 ; } el se i f (n==1) { return 1 ; } el se { return F(n-1)+F(n-2) ; } }Si corres el código anterior en una computadora, te darás cuenta que el tamaño de los números crece muy rápido y con números como 39 o 40 se tarda mucho tiempo en responder, mientras que con el número 50 parece nunca terminar.
Hemos resuelto de manera teórica el problema de los conejos de Fibonacci,sin embargo esta solución es irrazonablemente lenta.
Como curiosidad matemática, posiblemente alguna vez leas u oigas hablar sobre la sucesión de Fibonacci, cuando suceda, ten presente que la sucesión de Fibonacci es
F(0); F(1); F(2); F(3); F(4); F(5); :::
O escrita de otra manera:
0; 1; 1; 2; 3; 5; 8; 13; 21; 34; 55; :::
Además de servir como solución a este problema, la serie de Fibonacci cumple también con muchas propiedades interesantes que pueden servir para resolver o plantear otros problemas.
podrían ayudarnos con el código en python
ResponderEliminar