エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Haskell で素数 - ツムジのひとりごと
"Project Euler" の問題には「素数」に関連したものが時々出てきます。そこで今回は、Haskell でどうや... "Project Euler" の問題には「素数」に関連したものが時々出てきます。そこで今回は、Haskell でどうやって素数列を扱っていけば良いかを考えてみます。 Haskell で有名なものに「エラトステネスの篩」があります。(以下のコードは最初から 2 以外の偶数を省いたものです) primes :: [Integer] primes = 2 : sieve [3, 5 ..] where sieve (p : xs) = p : sieve [x | x <- xs, rem x p /= 0] 「簡単なコードで素数の無限数列を扱える」ということで Haskell のコードとしては有名(?)なものですが、実は非常に遅いです。 このコードは、"ghc" で最適化のオプションを付けてコンパイルしても、「20万以下の素数の和」を求めるのに約 40 秒もかかってしまいます。(これ以降、時