 As a computer programming technique, this is called divide and conquer and is key to the design of many important algorithms.Divide and conquer serves as a top-down approach to problem solving, where problems are solved by solving smaller and smaller instances.A contrary approach is dynamic programming.