module Fib where
fib_naive :: Int -> Int
fib_naive 0 = 0
fib_naive 1 = 1
fib_naive n = fib_naive (n-1) + fib_naive (n-2)
fib_memo :: Int -> Int
fib_memo n = xs !! n
where
xs = (map . go) (xs !!) [0..]
go f 0 = 0
go f 1 = 1
go f n = f (n-1) + f (n-2)
이런거 소개한적이 없는것 같아서 ㅇㅇ
언어가 못생겼어요