From: TOYOFUKU Chikanobu Date: 2007-06-08T17:48:39+09:00 Subject: [ruby-dev:30932] Re: Integer#prime_division と Prime 豊福です。 > けいじゅ@いしつかです. お久しぶりです。 > >(実用には 2,3と ±1(mod 6) あたりを使うのがよいでしょうか) > > こちらも, ... > となっていますので, わざわざそんなことしなくてもよい気がします. ps = (2..self) でよいという意味ですか? 2と3の倍数くらいは 間引いた方が (大きな数).divmod(prime) を少しでも省けてよさそうな 気がしますが。私は次のようなのを考えてました。 prime = 1 step = nil loop do if (step) prime += step step = 6 - step else case prime when 1; prime = 2 when 2; prime = 3 when 3; prime = 5; step = 2 end end > > また Prime の initialize と succ もより単純にした > (中略) > >の方が速くなるようです。 > > こちらですが, ruby1.8, ruby1.9どちらで比較しました? 1.9の方はだいぶ変 > わっているのですが... お、本当だ。すっかり変わってますね。ruby1.8 のを見てました。 --- 豊福