= 1차 = 매우 마음에 들지 않는 방법... {{{~cpp minsum s n | sum [1..n] < s = minsum s (n+1) | otherwise = (n, sum [1..n]) }}} = 2차 = sum을 공식을 이용했지만...여전히 마음에 들지 않아요 {{{~cpp naturalSum n = n * (n+1) `div` 2 minsum s n | naturalSum n < s = minsum s (n+1) | otherwise = (n, naturalSum n) }}} minsum 3000 1 = 3차 = [최소정수의합/송지훈] 방식, 조건제시법과 lazy evaluation 이용 {{{~cpp take 1 [(n,naturalSum n)| n<-[1..], naturalSum n >= s] }}} ---- [최소정수의합]