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)
  (define (iter counter sum1 sum2 sum3)
    (if (= counter n)
      (+ sum1 (* 2 sum2) (* 3 sum3))
      (iter (+ counter 1) (+ sum1 (* 2 sum2) (* 3 sum3)) sum1 sum2)))
  (if (< n 3)
    n
    (iter 3 2 1 0)))
#| END |#