1
2
3
4
5
6
7
8
9
10
11
12 | (define (fib n) (call/cc (lambda (k) (if (= n 0) (k 0) (if (< n 3) (k 1) (let ((m n) (k2 0) (a 0) (b 1) (c 1)) (call/cc (lambda (s) (set! k2 s))) (if (> m 2) (begin (set! a b) (set! b c) (set! c (+ a b)) (set! m (- m 1)) (k2 m)) (k c)))))))) |