Divide and Conquer
This is an example of Divide and Conquer, a standard computing paradigm that exploits recursion.
1. Divide your problem into two or more smaller problems of the same kind
2. Solve each of the smaller problems
3. Construct your solution to the larger problem from your solutions to the smaller problems