Recursion is a form of iteration or repitition cause by nested function calls.
In some cases it is much more useful than say using for or while loops. Let us consider simpler cases and establish some rules for recursion. Consider the factorial function which is defined for positive integers as the product of all the numbers from N, its argument, down to 1. The definition of the factorial function is recursive in that it refers to itself. A call to Factorial is placed within the function definition.