Code Review

Compare your solutions

    #| BEGIN (Введите свое решение) |#
(define (f n)
  (cond ((< n 3) n)
        (else (+ (f (- n 1))
                  (* 2 (f (- n 2)))
                  (* 3 (f (- n 3)))))
        ))

(define (f-iter n)
  (if (< n 3)
      n
  (iter-step 2 1 0 n)))


(define (iter-step a b c count)
  (if (= count 0)
      c
      (iter-step(+ a (* 2 b) (* 3 c)) a b (- count 1))))
#| END |#
    #| BEGIN (Введите свое решение) |#
(define (f n)
  (cond ((< n 3) n)
        (else (+ (f (- n 1))
                  (* 2 (f (- n 2)))
                  (* 3 (f (- n 3)))))
        ))

(define (f-iter n)
  (if (< n 3)
      n
  (iter-step 2 1 0 n)))


(define (iter-step a b c count)
  (if (= count 0)
      c
      (iter-step(+ a (* 2 b) (* 3 c)) a b (- count 1))))
#| END |#
    #| BEGIN (Введите свое решение) |#
(define (f n)
  (cond ((< n 3) n)
        (else (+ (f (- n 1))
                  (* 2 (f (- n 2)))
                  (* 3 (f (- n 3)))))
        ))

(define (f-iter n)
  (if (< n 3)
      n
  (iter-step 2 1 0 n)))


(define (iter-step a b c count)
  (if (= count 0)
      c
      (iter-step(+ a (* 2 b) (* 3 c)) a b (- count 1))))
#| END |#
    #| BEGIN (Введите свое решение) |#
(define (f n)
  (cond ((< n 3) n)
        (else (+ (f (- n 1))
                  (* 2 (f (- n 2)))
                  (* 3 (f (- n 3)))))
        ))

(define (f-iter n)
  (if (< n 3)
      n
  (iter-step 2 1 0 n)))


(define (iter-step a b c count)
  (if (= count 0)
      c
      (iter-step(+ a (* 2 b) (* 3 c)) a b (- count 1))))
#| END |#