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

