2006-06-19から1日間の記事一覧

正規表現で素数探索

def sieve_regex(max) table = ' ' + (2..max).map{|i|i.to_s}.join(' ') (2..Math.sqrt(max)).each do |i| 1 while table.gsub!(/^((?:\d* ){#{i-1}}(?:(?:\d* ){#{i}})+)\d+/){$1} end table endperl -le '$,=" "; print grep { (1 x $_) !~ /^(11+)\1+$/ …