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