ruby--ruby/sample/sieve.rb

18 lines
233 B
Ruby

# sieve of Eratosthenes
sieve = []
max = Integer(ARGV.shift || 100)
print "1"
for i in 2 .. max
begin
for d in sieve
fail if i % d == 0
end
print ", "
print i
sieve.push(i)
rescue
end
end
print "\n"