ok so i basically got a problem from my friend about recursion and backtracking, it was about number partitions, generating partitions of a number in descending order using recursion. Constraint was not to use data structures like arrays or string but to print while recursing. For eg: 4 can be partitioned as 4, 3 1, 2 2, 2 1 1, 1 1 1 1. would like to know moreover about the thought process rather than the entire solution. Also since i am a beginner to this how can i improve on this topic and can anyone suggest some good books for beginners while tackling such problems.