Код Ревью

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

    #| BEGIN (Введите свое решение) |#
(define (f n)
  (if (< n 3) n
      (+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(define (f-iter n)
  (if (< n 3) n
      (iter 0 1 2 3 n)))
(define (iter a b sum counter n) 
  (if (> counter n) sum
      (iter b sum (+ a b sum) (+ 1 counter) n)))
#| END |#
    #| BEGIN (Введите свое решение) |#
(define (f n)
  (if (< n 3) n
      (+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(define (f-iter n)
  (if (< n 3) n
      (iter 0 1 2 3 n)))
(define (iter a b sum counter n) 
  (if (> counter n) sum
      (iter (* 2 b) (* 3 sum) (+ a b sum) (+ 1 counter) n)))
#| END |#
    #| BEGIN (Введите свое решение) |#
(define (f n)
  (if (< n 3) n
      (+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(define (f-iter n)
  (if (< n 3) n
      (iter 0 1 2 3 n)))
(define (iter a b sum counter n) 
  (if (> counter n) sum
      (iter b sum  (+ (* 3 a) (* 2 b) sum) (+ 1 counter) n)))
#| END |#
    #| BEGIN (Введите свое решение) |#
(define (f n)
  (if (< n 3) n
      (+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(define (f-iter n)
  (if (< n 3) n
      (iter 0 1 2 3 n)))
(define (iter a b sum counter n) 
  (if (> counter n) sum
      (iter b sum (+ a b sum) (+ 1 counter) n)))
#| END |#
    #| BEGIN (Введите свое решение) |#
(define (f n)
  (if (< n 3) n
      (+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(define (f-iter n)
  (if (< n 3) n
      (iter 0 1 2 3 n)))
(define (iter a b sum counter n) 
  (if (> counter n) sum
      (iter (* 2 b) (* 3 sum) (+ a b sum) (+ 1 counter) n)))
#| END |#
    #| BEGIN (Введите свое решение) |#
(define (f n)
  (if (< n 3) n
      (+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(define (f-iter n)
  (if (< n 3) n
      (iter 0 1 2 3 n)))
(define (iter a b sum counter n) 
  (if (> counter n) sum
      (iter b sum  (+ (* 3 a) (* 2 b) sum) (+ 1 counter) n)))
#| END |#