递归:
#lang racket
(define (FIB X)
(cond ((= X 0) 0)
((= X 1) 1)
((> X 1) (+ (FIB (- X 2)) (FIB (- X 1))))))
(FIB 15)
非递归:
#lang racket
(define (fib n)
(fib-add n 1 0))
(define (fib-add n next res)
(cond ((= n 0) res)
(else (fib-add (- n 1) (+ next res) next))))
(fib 100)
注意:0为第零项!