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

Reply via email to