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

print "1"
for i in 2 .. max 
  protect
    for d in sieve
      fail if i % d == 0
    end
    print ", "
    print i
    sieve.push(i)
  resque
  end
end