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