Hexaの日記 このページをアンテナに追加 RSSフィード

2006-06-25

キミならどう書く 2.0 - ROUND 1 -

フェルマーテストに引き続き,エラトステネスの篩もやってみました.


エラストテネスの篩では,検証する数の平方根まで比較すれば,

素数か非素数かの判定は十分といえます.


prime = Array.new()
max = 100
i = 2

while i <= max
  @flag = true
  prime.each{|num|
    if Math::sqrt(i).round >= num then
      if 0 == i % num then
        @flag = false
        break
      end
   end
  }
  if @flag == true then
    prime.push i
  end
  i += 1
end

p prime

比較回数を少なくしてみましたが,

その分,大変読みづらくなってしましました.


後で書き直さないと・・・.

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/Hexa/20060625/1151215363