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"