summaryrefslogtreecommitdiff
path: root/sample/sieve.rb
blob: 5e9f792d81b1fa4df1ddddf1ae96cf4439109dc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 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"