project euler problem 16

2^15 = 32768 であり、これの各数字の合計は 3 + 2 + 7 + 6 + 8 = 26 となる。

同様にして、2^1000 の各数字の合計を求めよ。

簡単そうなのですぐやってしまった。 read [c]+0 がきもちわるいけど…

Prelude> foldl (\x y->x+(read [y]+0)) 0 $ show (2^1000)
1366

Data.CharのdigitToIntなら1文字だけ変換できる

Prelude Data.Char> :m Data.Char                                    
Prelude Data.Char> foldl (\x y->x+digitToInt y) 0 $ show (2^1000)  
1366