(define (find-closest-number goal numbers) (if (= 1 (length numbers)) (car numbers) (if (< (abs (- goal (car numbers))) (abs (- goal (find-closest goal (cdr numbers))))) (car numbers) (find-closest goal (cdr numbers))))) (define (find-closest goal lst comparator) (if (= 1 (length lst)) (car numbers) (if (< (comparator goal (car lst)) (comparator goal (find-closest goal (cdr lst) comparator))) (car lst) (find-closest goal (cdr lst) comparator)))) (define (find-closest-number2 goal numbers) (find-closest goal numbers (lambda (a b) (abs (- a b)))))