Project Euler 29

http://projecteuler.net/index.php?section=problems&id=29


重複を排除するためにsetを用いる。setの使用は次のように行う。


import qualified Data.Set as S

insert s n = S.insert n s
s = S.empty
s2 = S.insert 1 s
b = S.member 1 s2
s3 = S.delete 1 s2

今回はリストからsetを作成するためfromListを使う。


import qualified Data.Set as S

n = 100
c = [ a^b | a <- [2..n], b <- [2..n] ]
s = S.fromList c
main = print(S.size s)