(define seven-or-six ; Challenge: rewrite to only have one copy of the 7 (lambda (n) ; without using or. (if (even? n) ; It is not fair to use something like (+ 4 3). 7 (if (positive? n) 7 6)))) (define closest-power ; recursive version, from book (lambda (b n) (if (< n b) 0 (+ 1 (closest-power b (quotient n b)))))) (define helper-thing ; iterative helper (lambda (b n target count) ; note: n = b^count (if (< target n) (- count 1) (helper-thing b (* n b) target (+ count 1))))) (define c-p ; iterative replacement for closest-power (lambda (b target) (helper-thing b 1 target 0)))