Code Review

Compare your solutions

    #| BEGIN (Введите свое решение) |#
(define (square x) (* x x))

(define (solution base exp)
  (define (fast-expt-iter b n a)
    (cond [(= n 0) a]
          [(even? n) (fast-expt-iter (square b) (/ n 2) a)]
          [else (fast-expt-iter b (- n 1) (* a b))]))
  (fast-expt-iter base exp 1))
#| END |#