summaryrefslogtreecommitdiff
path: root/sample/sieve.rb
blob: 03ff8a67f48a1b45f3c7f7f4e7264feff4e6dd58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# sieve of Eratosthenes
sieve = []
if ! max = ARGV.shift; max = 100; end
max = max.to_i

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"