Life Goes On

まあまあだけど楽しんでる方です

40問目

http://projecteuler.net/index.php?section=problems&id=40
0.123456789101112131415161718192021...
のように自然数をつなげて作った小数のn番目の数字をdnとするとき、以下の値を求める。
d1 × d10 × d100 × d1000 × d10000 × d100000 × d1000000
これは楽チン。

import Data.Char

main = print euler040

euler040 :: Int
euler040 = product $ map (digitToInt . (d !!))
    [1,10,100,1000,10000,100000,1000000]

d :: String
d = concat $ map show [0..1000000]