Code Review

Compare your solutions

    #| BEGIN (Write your solution here) |#
(define (f n)
  (if (< n 3)
      n
      (+ (f (- n 1))
         (* 2 (f (- n 2)))
         (* 3 (f (- n 3))))))

(define (f-iter n)
  (helper 0 1 2 n))

(define (helper a b c count)
  (if (= count 0)
      a
      (helper b c (+ c (* 2 b) (* 3 a)) (- count 1))))
#| END |#
    #| BEGIN (Write your solution here) |#
(define (f n)
  (if (< n 3)
      n
      (+ (f (- n 1))
         (* 2 (f (- n 2)))
         (* 3 (f (- n 3))))))



(define (f-iter n)
  (define (iter-step a b c count)
    (if (= count 0)
        a
        (iter-step b c (+ c (* 2 b) (* 3 a)) (- count 1))))
  (iter-step 0 1 2 n))
#| END |#
    #| BEGIN (Write your solution here) |#
(define (f n)
  (if (< n 3)
      n
      (+ (f (- n 1))
         (* 2 (f (- n 2)))
         (* 3 (f (- n 3))))))



(define (f-iter n)
  (define (iter-step a b c count)
    (if (= count 0)
        c
        (iter-step (+ a (* 2 b) (* 3 c)) a b (- count 1))))
  (iter-step 2 1 0 n))
#| END |#
    #| BEGIN (Write your solution here) |#
(define (f n)
  (if (< n 3)
      n
      (+ (f (- n 1))
         (* 2 (f (- n 2)))
         (* 3 (f (- n 3))))))

(define (f-iter n)
  (helper 0 1 2 n))

(define (helper a b c count)
  (if (= count 0)
      a
      (helper b c (+ c (* 2 b) (* 3 a)) (- count 1))))
#| END |#
    #| BEGIN (Write your solution here) |#
(define (f n)
  (if (< n 3)
      n
      (+ (f (- n 1))
         (* 2 (f (- n 2)))
         (* 3 (f (- n 3))))))



(define (f-iter n)
  (define (iter-step a b c count)
    (if (= count 0)
        a
        (iter-step b c (+ c (* 2 b) (* 3 a)) (- count 1))))
  (iter-step 0 1 2 n))
#| END |#
    #| BEGIN (Write your solution here) |#
(define (f n)
  (if (< n 3)
      n
      (+ (f (- n 1))
         (* 2 (f (- n 2)))
         (* 3 (f (- n 3))))))



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