LISP實現斐波那契數列(遞歸、非遞歸)

遞歸:

#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爲第零項!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章