The improvement is not due to the nested result but the string-based palindromic? function.
For the advantages of nested defines, see the draft of the Style Guide: http://www.ccs.neu.edu/home/matthias/Style/style/index.html -- Matthias On Mar 18, 2012, at 2:57 AM, Racket Noob wrote: > Which leads to question: when to use nested define and when to use let? > > > From: matth...@ccs.neu.edu > > Date: Sun, 11 Mar 2012 19:14:38 -0400 > > To: jgil...@gmail.com > > CC: users@racket-lang.org; jus...@zamora.com > > Subject: Re: [racket] spirit of Racket? > > > > > > I believe the code below cuts your running time to one third. -- Matthias > > > > #lang racket > > > > (require srfi/13) > > > > (define (euler4e) > > (for*/fold ([greatest 0]) ([first (in-range 101 1000)] [second (in-range > > first 1000)]) > > (define prod (* first second)) > > (if (palindromic? prod) (max greatest prod) greatest))) > > > > (define (palindromic? n) > > (define s (number->string n)) > > (define r (string-reverse s)) > > (string=? s r)) > > > > > > ____________________ > > Racket Users list: > > http://lists.racket-lang.org/users
____________________ Racket Users list: http://lists.racket-lang.org/users