[plt-scheme] HtDP: Another question on 10.1.9
On Fri, Sep 19, 2008 at 8:44 PM, Grant Rettke <grettke at acm.org> wrote:
> On Fri, Sep 19, 2008 at 7:29 PM, Carl Eastlund <cce at ccs.neu.edu> wrote:
>> On Fri, Sep 19, 2008 at 10:51 AM, Grant Rettke <grettke at acm.org> wrote:
>>>
>>> I followed (abused?) a recipe by using cond and having the first
>>> clause handle any amount under 100. It looks like this:
>>>
>>> (cond
>>> [(< n 100) <cents part goes here>]
>>> [else (cons <dollar amount and natural recusion occur here>)])
>>
>> Natural recursion? What's so natural about it?
>
> You don't need to do all of the work at once, you handle the part that
> you need and let the function do the rest of it. In this case, the
> rest is everything under 100. Is this a valid approach if there is
> only one recursive step?
>
> Or were you just giving me a hard time with your reply?
Let me put it another way -- what's so recursion about it? To be less
cryptic, if you read your purpose statement, and apply it to the
recursive call, does it make sense? Are you really solving a smaller
instance of the same problem, or are you just solving a smaller
problem? The former is recursion; the latter is not (and suggests
either inlining or a helper function).
--
Carl Eastlund