mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
65a5162550
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
14 lines
244 B
Ruby
14 lines
244 B
Ruby
# sieve of Eratosthenes
|
|
max = Integer(ARGV.shift || 100)
|
|
sieve = []
|
|
for i in 2 .. max
|
|
sieve[i] = i
|
|
end
|
|
|
|
for i in 2 .. Math.sqrt(max)
|
|
next unless sieve[i]
|
|
(i*i).step(max, i) do |j|
|
|
sieve[j] = nil
|
|
end
|
|
end
|
|
puts sieve.compact.join ", "
|