Код Ревью
Сравни свои решения
#| BEGIN (Введите свое решение) |#
(define (f n)
(if (< n 3) n
(+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(define (f-iter n)
(if (< n 3) n
(iter 0 1 2 3 n)))
(define (iter a b sum counter n)
(if (> counter n) sum
(iter b sum (+ a b sum) (+ 1 counter) n)))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (f n)
(if (< n 3) n
(+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(define (f-iter n)
(if (< n 3) n
(iter 0 1 2 3 n)))
(define (iter a b sum counter n)
(if (> counter n) sum
(iter (* 2 b) (* 3 sum) (+ a b sum) (+ 1 counter) n)))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (f n)
(if (< n 3) n
(+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(define (f-iter n)
(if (< n 3) n
(iter 0 1 2 3 n)))
(define (iter a b sum counter n)
(if (> counter n) sum
(iter b sum (+ (* 3 a) (* 2 b) sum) (+ 1 counter) n)))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (f n)
(if (< n 3) n
(+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(define (f-iter n)
(if (< n 3) n
(iter 0 1 2 3 n)))
(define (iter a b sum counter n)
(if (> counter n) sum
(iter b sum (+ a b sum) (+ 1 counter) n)))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (f n)
(if (< n 3) n
(+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(define (f-iter n)
(if (< n 3) n
(iter 0 1 2 3 n)))
(define (iter a b sum counter n)
(if (> counter n) sum
(iter (* 2 b) (* 3 sum) (+ a b sum) (+ 1 counter) n)))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (f n)
(if (< n 3) n
(+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(define (f-iter n)
(if (< n 3) n
(iter 0 1 2 3 n)))
(define (iter a b sum counter n)
(if (> counter n) sum
(iter b sum (+ (* 3 a) (* 2 b) sum) (+ 1 counter) n)))
#| END |#