, f " ", , f " ". . fib, , , , fib:
; Recursive
(define (fib n)
(cond ((= n 0) 0)
((= n 1) 1)
(else (+ (fib (- n 1))
(fib (- n 2))))))
; Iterative
(define (fib n)
(fib-iter 1 0 n))
(define (fib-iter a b count)
(if (= count 0)
b
(fib-iter (+ a b) a (- count 1))))
f-iter, a, b c, count.
f-iter. fib-iter:
(define (f-iter a b c count)
(if (= count 0)
c
(f-iter (+ a (* 2 b) (* 3 c)) a b (- count 1))))
, a, b c 2, 1 0 , fib, a b 1 0. f :
(define (f n)
(f-iter 2 1 0 n))
: f-iter - , - , , O(n) O(1) space, , , . , , 1.1.