Code Review
Compare your solutions
#| BEGIN (Введите свое решение) |#
(define (even? n)
(= (remainder n 2) 0))
(define (double n)
(+ n n))
(define (halve n)
(/ n 2))
(define (mul-iter a b)
(define (iter res first_mul second_mul)
(cond ((= second_mul 0) res)
((even? second_mul) (iter res (double first_mul) (halve second_mul)))
(else (iter (+ res first_mul) first_mul (- second_mul 1)))))
(iter 0 a b))
#| END |#