Most (all?) of the recursive examples we have seen involve a single
function.

You should be used to taking an interative function an turning it 
into a recursive function, and taking a tail-recursive function and 
converting it to an iterative function.

If you have a function with a pair of nested loops, it is often 
possible to model the function as a pair of functions which call each 
other.  The first function models the iteration of the outer loop, 
and calls the second function to perform the inner loop.  The second 
function models the behavior of the inner loop, and calls the first 
function when the inner loop exits.  The second function may call 
itself a number of times before calling the first function again.

I found using this idea useful in writing problem 3.5

Reply via email to