台風凄かったですね。私の住んでいる地域では、夕方頃に風雨ともかなり強かったのですが、今はもうだいぶ落ち着いてきちゃいました。 さてさて。昨日の記事の続きです。 まずはPrime::A2Generatorの説明、その前に、その元になっているメモ: 上限を決めずに素数を生成の高速化(Ruby版)のPrimeGeneratorの解説から。 log.ttsky.net の PrimeGenerator の解読 大元の記事は、メモ: 素数の逐次生成(Ruby版) v3。たどればもっと元があるようですけれど取り敢えず。ここに書かれているMyPrimeクラスの高速化を図った究極形がこっちの記事のPrimeGeneratorクラス*1。 このクラスが素数を列挙するアルゴリズム(succメソッドの中身)は、読み解くと以下の通り*2: 取り敢えず最初に2を返す。 2回目以降は2以上の数を2つずつ順に判定: 最