What is a recursive function?
A recursive function is one that calls an instance of the same function from within itself — it recurs. Although that may sound like a rather strange and disastrous thing to do there are times when this type of recursion can overcome problems and handle scenarios that would not otherwise be possible.