{"published":"2006-03-07 00:00:00","author_url":"https://blog.hatena.ne.jp/rubyco/","author_name":"rubyco","width":"100%","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Frubyco.hatenadiary.org%2Fentry%2F20060307%2Fsieve\" title=\"\u30a8\u30e9\u30c8\u30b9\u30c6\u30cd\u30b9\u306e\u7be9 - rubyco\uff08\u308b\u3073\u3053\uff09\u306e\u65e5\u8a18\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","image_url":null,"type":"rich","provider_url":"https://hatena.blog","title":"\u30a8\u30e9\u30c8\u30b9\u30c6\u30cd\u30b9\u306e\u7be9","url":"https://rubyco.hatenadiary.org/entry/20060307/sieve","height":"190","blog_url":"https://rubyco.hatenadiary.org/","version":"1.0","description":"Ruby\u3067\u300c\u30a8\u30e9\u30c8\u30b9\u30c6\u30cd\u30b9\u306e\u7be9\u300d\u3092\u5b9f\u88c5\u3057\u307e\u3057\u305f\u3002\u5358\u7d14\u306a\u7248\u266a def sieve(m) prime = (0..m).to_a (2..m).each do |p| next if not prime[p] yield(p) if block_given? (p+p..m).step(p) do |k| prime[k] = false end end prime[2..m].find_all {|p| p} end sieve(50) { |p| print \"#{p}, \" }; puts #=> 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41,\u2026","blog_title":"rubyco\uff08\u308b\u3073\u3053\uff09\u306e\u65e5\u8a18","categories":["am"],"provider_name":"Hatena Blog"}