Problem7
素数を小さい方から6つ並べると 2, 3, 5, 7, 11, 13 であり、6番目の素数は 13 である。
10001 番目の素数を求めよ。
Problem3のid:smlyの素数列生成コードがあまりに美しかったのでまるまる借りてしまった・・・
http://codepad.org/OlhYJKCl
Haskell
main = print $ last $ take 10001 $ sieve [2..] sieve (x:xs) = x:(sieve [z|z<-xs, z `mod` x /= 0])
104743
無限長配列ってこうやって使うんだな。
訂正
- 10000番めじゃなくて10001番めだ。
- Problem5じゃなくて7だ。