(define (palindrome? x) (define (rev x ans) (if (= x 0) ans (let ((r (remainder x 10))) (rev (/ (- x r) 10) (+ r (* ans 10)))))) (= (rev x 0) x)) (define (bigpal ans x y) (if (> x 999) ans (if (> y 999) (bigpal ans (+ x 1) (+ x 1)) (if (and (palindrome? (* x y)) (> (* x y) ans)) (bigpal (* x y) x (+ y 1)) (bigpal ans x (+ y 1)))))) (display (bigpal 0 100 100)) (newline)