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