HaskellでProject Euler
Project EulerをHaskellで解いている。Project Eulerはプログラミングで解ける数学の問題が掲載されているサイト。毎週新しい問題が一つずつ追加されていて、現時点で283問ある。月初から始めて、ちょうど30問解いた。
愚直にロジックを組むだけで解ける問題もあれば、愚直なだけでは計算がなかなか終わらない問題もある。Project Eulerには、一分間ルールというのがあるそうで、まともなロジックで組めば、必ず一分以内に計算が終了するはずとのこと。だから何十分もかかるような場合は、明らかに改善の余地がある。
Haskellでシンプルに書ける問題もあれば、リスト内包表記やモナドを上手く活用しないと書けなそうな問題もある。このあたりはまだちょっと分かってないところもあるので、いろいろ試行錯誤しながら実装することになる(モナドはまだ使ってないけど)。これがなかなか勉強になるので、もし今からProject Eulerを始めるなら、ぜひ新しい言語で書くのがよいと思う。
コードはgithubで管理することにした。
gami / project-euler-in-haskell GitHub
|
コメント