Code Review

Compare your solutions

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

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

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

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

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