Код Ревью

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

    #| BEGIN (Write your solution here) |#
(
 define (square n) (* n n)
)

(
 define (fib-iter a b p q count)
  (cond((= count 0) b)
       ((even? count) (fib-iter a b (+ (square p) (square q)) (+ (* 2 q p) (square q)) (/ count 2)))
       (else (fib-iter (+ (* b q) (* a q) (* a p)) (+ (* b p) (* a q)) p q (- count 1)))
   )
)

(
 define (fib n) (fib-iter 1 0 0 1 n)
)
#| END |#