diff options
Diffstat (limited to 'sample/sieve.rb')
-rw-r--r-- | sample/sieve.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sample/sieve.rb b/sample/sieve.rb new file mode 100644 index 0000000000..03ff8a67f4 --- /dev/null +++ b/sample/sieve.rb @@ -0,0 +1,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" |