2^15=32768で、その全ての数字の和は3+2+7+6+8=26である。
2の1000乗の全ての数字の和を求めよ。
これも大きな数を扱う問題であるが、Haskellを使用すると非常に簡単に求める ことが出来る。ここでは全ての数字の和を求める関数sumDigitsを以下のように 定義した。showで数値を文字列に変換し、文字列は文字のリストなので digitToIntをmapすることで一桁の数値のリストに変換し、sumで合計を求める。 問題の答えは2^1000にsumDigitsを適用することで求められる。
sumDigits n = sum $ map digitToInt $ show n euler016 = sumDigits (2 ^ 1000)
