User Tools

Site Tools


tips:clojure:fibonacci

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tips:clojure:fibonacci [2013/05/16 03:01]
psk810 [기억화된 단순 버젼]
tips:clojure:fibonacci [2019/02/04 14:26] (current)
Line 84: Line 84:
  
 <code clojure> <code clojure>
-(defn fib1 [n]+(defn fib [n]
  (nth ((fn f [a b] (cons a (lazy-seq (f b (+ b a))))) 0N 1N) n))  (nth ((fn f [a b] (cons a (lazy-seq (f b (+ b a))))) 0N 1N) n))
  
Line 96: Line 96:
 </​code>​ </​code>​
  
-완성!+lazy-seq은 해당 요소에 접근할 때만 한 번 계산 함수가 수행된 후 결과값이 기억화(memoization)된다. 여기서 계산 함수는 재귀호출 되지 않는다. 매 계산마다 fib(n) = fib(n-1) + fib(n-2)만이 수행될 뿐이다. 
 + 
tips/clojure/fibonacci.1368673305.txt.gz · Last modified: 2019/02/04 14:26 (external edit)