(define (reverse-num a)
(let ((ret 0))
(while (> a 0)
(set 'ret (+ (* ret 10) (% a 10)))
(set 'a (/ a 10)))
ret))
(define (palindrome? a)
(= a (reverse-num a 0)))
(define (searchStart)
(let ((ret 0))
(for (a 0 1000)
(for (b 0 1000)
(let ((p (* a b)))
(when (and (palindrome? p)
(> p ret))
(set 'ret p)))))
ret))
(print "The biggest product of 2 3-digit numbers that is a palindrome is: ")
(print (searchStart))
(print "\n")
(exit)