Код Ревью

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

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

(define (solution  b n)
  (define (iter b n a)
    (cond ((= n 0) 1)
          ((= n 1) a)
          ((even? n)  (iter (square b) (/ n 2) (square b)))
          (else (* b (iter b (- n 1) a)))))
  (iter b n 1))
#| END |#