In programming, a program module or subroutine that calls itself to perform an iterative operation; in other words, a pure expression repeats itself to achieve a much more complex operation.

The Principle of Recursion is illustrated by Fibonacci numbers, a number series in which the first two terms are 1; successive terms are given by summing the two previous terms (1,1, 2, 3, 5, 8,13, 21, 34, 55, 89, 144, etc.). Fibonacci numbers can be generated by the following equation, as long as n is greater than 2: Fibonacci («) = Fibonacci (« – 1) + Fibonacci (n – 2).

### Technipages Explains Recursion

Recursion is a method of solving problems in programming, in which a problem is broken down into smaller units of problems and solved individually. So the first solution is dependent on the smaller solutions got from, the more minor problems. Recursions aids problem solving, as a question is solved on its terms.

It is best illustrated with the Russian Matryoshka dolls, which is a set of dolls encased in a bigger doll; every piece of doll is a direct replica of the succeeding or preceding doll except smaller. So every doll is a small or more significant version of the other. Recursive programming is based on this principle in which a problem is tackled by breaking it down into more minor problems.

Recursion can be traced back to 1958, John McCarthy was the first to utilize the principle of Recursion in programming, and this can be found on his work on LISP. LISP was the first programming language to feature recursive functions as we have them today. McCarthy’s work was inspired by the works of Alonzo Church, which were two decades prior. Notable mentions associated with recursion can also be dated back to Dedekind’s work on Natural numbers in 1888. Rozsa Peter presented on recursive functions in 1932 at International Congress of Mathematicians in Zurich in 1932.

### Common Uses of Recursion

helps in tackling problems as it addresses a problem on its terms from breaking the problem down to smaller problems*Recursion*- A better way to tackle problems would be through
because it widens one’s perspective on the problem at hand*Recursion* - In
, the new set of problems are replicas of each other, and the problems are each solved on their own.*Recursion*

### Common Misuses of Recursion

doesn’t tackle problems even though the problem is broken down to tackled on a smaller scale*Recursion*only simplifies a problem, and it does not answer it.*Recursion*