1 2 3 4 5 6 7 8 9 10 11 12
(define (expt-rec num exp) (if (= 0 exp) 1 (* num (expt-rec num (- exp 1))))) (define (expt-iter num exp) (define (loop res exp-remaining) (if (= 1 exp-remaining) res (loop (* res num) (- exp-remaining 1)))) (loop num exp))