Код Ревью

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

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


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

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


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

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


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

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


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

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


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

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


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

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