In computer programming, recursion is usually labeled a rather difficult topic (especially for students), but its rather simple. Simple concepts are not necessarily easier to implement, because it depends the extend follows the normal way of thinking. A recursive function is no more than a function that references itself within its own definition, in such