2009년 1월 26일 월요일

프로젝트 오일러 20 haskell 풀이

이전에는 fold 안썼는데 이번에 답 옮기면서 fold 로 짜봤다.

아직 어색해서 그런건지.. 가독성이 더 안좋아 보이는데...
반복로직을 fold 가 가져가서 읽기 편하다고 주장들을 하던데
뭐 틀린말은 아닌거 같지만 아직 fold 를 보는순간 머리에서 루프가
안그려져서 읽는게 좀 곤혹스럽다.



import Data.Char(digitToInt)

fac n = product [1..n]
sumOfDigits = foldr (\x acc -> (digitToInt x)+acc) 0 . show

main = print $ sumOfDigits $ fac 100