하스켈에서의 암기? Haskell에서 다음 함수를 효율적으로 해결하는 방법에 대한 모든 포인터 (n > 108) f(n) = max(n, f(n/2) + f(n/3) + f(n/4)) 하스켈에서 피보나치 수를 풀기위한 메모의 예를 보았습니다. 피보나치 수는 필요한 n까지 모든 피보나치 수를 계산하는 것이 었습니다. 그러나이 경우 주어진 n에 대해 중간 결과를 거의 계산하지 않아도됩니다. 감사 하위 선형 시간으로 색인을 생성 할 수있는 구조를 만들어서 매우 효율적으로 수행 할 수 있습니다. 하지만 먼저 {-# LANGUAGE BangPatterns #-} import Data.Function (fix) 을 정의 f하되 직접 호출하는 대신 '오픈 재귀'를 사용하도록 합시다 . f :: (Int -> Int)..