[racket] spirit of Racket?

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sun Mar 11 19:14:38 EDT 2012

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))

Posted on the users mailing list.