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]----
ìµœì†Œì •ìˆ˜ì�˜í•©










