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)
(if (< n 3)
n
(iter-step 2 1 0 n)))
(define (iter-step a b c count)
(if (= count 0)
c
(iter-step(+ a (* 2 b) (* 3 c)) a b (- count 1))))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (f n)
(cond ((< n 3) n)
(else (+ (f (- n 1))
(* 2 (f (- n 2)))
(* 3 (f (- n 3)))))
))
(define (f-iter n)
(if (< n 3)
n
(iter-step 2 1 0 n)))
(define (iter-step a b c count)
(if (= count 0)
c
(iter-step(+ a (* 2 b) (* 3 c)) a b (- count 1))))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (f n)
(cond ((< n 3) n)
(else (+ (f (- n 1))
(* 2 (f (- n 2)))
(* 3 (f (- n 3)))))
))
(define (f-iter n)
(if (< n 3)
n
(iter-step 2 1 0 n)))
(define (iter-step a b c count)
(if (= count 0)
c
(iter-step(+ a (* 2 b) (* 3 c)) a b (- count 1))))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (f n)
(cond ((< n 3) n)
(else (+ (f (- n 1))
(* 2 (f (- n 2)))
(* 3 (f (- n 3)))))
))
(define (f-iter n)
(if (< n 3)
n
(iter-step 2 1 0 n)))
(define (iter-step a b c count)
(if (= count 0)
c
(iter-step(+ a (* 2 b) (* 3 c)) a b (- count 1))))
#| END |#