--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2008/10/29

Project Euler: Problem 21

Problem 21

力技で。友愛数の組を求める必要はないので、単純に数列に対してフィルタをかけている。

実行結果

$ time runhaskell 21.hs
40285

real 0m14.595s
user 0m14.510s
sys 0m0.050s

プログラム

1 divisors x = filter ((== 0. (mod x)) [1..(x `div` 2 + 1)]
2 = sum . divisors
3
4 hasAmicableNum n = n == (d (d n))
5
6 fn = sum $ filter hasAmicableNum [1..10000-1]
7
8 main = print $ fn
スポンサーサイト

comment

post




上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。