(define (cast-nines n) (define (loop answer-so-far left-to-do) (if (zero? left-to-do) answer-so-far (let ((next (+ answer-so-far (remainder left-to-do 10)))) (loop (simplify next) (quotient left-to-do 10))))) (loop 0 n))