Код Ревью

Сравни свои решения

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

(define (fast-expt b n)
  (define (iter a b n)
    ; a * b^n = const
    (cond ((= n 0) a)
          ((even? n) (iter a (square b) (/ n 2)))
          ((odd? n) (iter (* a b) b (- n 1)))))
  (iter 1 b n))

(define solution fast-expt)
#| END |#