Код Ревью

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

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

(define (halve x) (/ x 2))

(define (mul-iter a b)
  (define (iter a b c)
    ; a*b + c = const
    (cond ((= b 0) c)
          ((even? b) (iter (double a) (halve b) c))
          ((odd? b) (iter a (- b 1) (+ c a)))))
  (iter a b 0))
#| END |#