Код Ревью

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

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