Recursive Fibonacci Rabbits with Python
Let's say we have some magical rabbits. These rabbits never die. A pair of rabbits has 3 more pairs of rabbits in every litter, and they start producing litters after one generation. If you start with one pair of rabbits, how many rabbits will you have in 5 generations?
This was the premise of a problem I was working on this week in Python (check out the full problem here: http://rosalind.info/problems/fib/). I had to draw it out on my white board to wrap my head around it:
Recursive rabbit solution:
It doesn't really have to be done recursively, though. I was talking through it with Steven, and we realized that the manual approach I had used on the whiteboard was also fairly efficient. Turns out it can be implemented in fewer lines of code as well.
Non-recursive rabbit solution: