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
リンク元
- 12 http://ll.jus.or.jp/2006/blog/doukaku1
- 7 http://d.hatena.ne.jp/keyworddiary/Ruby
- 3 http://b.hatena.ne.jp/entry/http://ll.jus.or.jp/2006/blog/doukaku1
- 2 http://d.hatena.ne.jp/keyworddiary/Python
- 2 http://reader.livedoor.com/reader/
- 1 http://cgi.search.biglobe.ne.jp/cgi-bin/search?q=get_Title(
- 1 http://d.hatena.ne.jp/hakobe932/20060626/1151328593
- 1 http://d.hatena.ne.jp/keyword/フェルマー
- 1 http://d.hatena.ne.jp/keyword/Python
- 1 http://d.hatena.ne.jp/keyworddiary/PHP?week=20060618

