« HaskellでFizzBuzz | メイン | Scalaでべき剰余演算 »

2010年3 月26日 (金)

HaskellでProject Euler

Project EulerをHaskellで解いている。Project Eulerはプログラミングで解ける数学の問題が掲載されているサイト。毎週新しい問題が一つずつ追加されていて、現時点で283問ある。月初から始めて、ちょうど30問解いた。

愚直にロジックを組むだけで解ける問題もあれば、愚直なだけでは計算がなかなか終わらない問題もある。Project Eulerには、一分間ルールというのがあるそうで、まともなロジックで組めば、必ず一分以内に計算が終了するはずとのこと。だから何十分もかかるような場合は、明らかに改善の余地がある。

Haskellでシンプルに書ける問題もあれば、リスト内包表記やモナドを上手く活用しないと書けなそうな問題もある。このあたりはまだちょっと分かってないところもあるので、いろいろ試行錯誤しながら実装することになる(モナドはまだ使ってないけど)。これがなかなか勉強になるので、もし今からProject Eulerを始めるなら、ぜひ新しい言語で書くのがよいと思う。

コードはgithubで管理することにした。

gami / project-euler-in-haskell  GitHub

トラックバック

この記事のトラックバックURL:
http://www.typepad.com/services/trackback/6a01287585694c970c0133ec3bf3ed970b

HaskellでProject Eulerを参照しているブログ:

コメント

この記事へのコメントは終了しました。