aboutsummaryrefslogtreecommitdiffstats
path: root/sample/sieve.rb
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-01-16 12:13:05 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-01-16 12:13:05 +0000
commit3db12e8b236ac8f88db8eb4690d10e4a3b8dbcd4 (patch)
treeb3c086e437cab449f90ba637710daed0ddfec4c4 /sample/sieve.rb
parent392296c12de9d7f9be03a8205250ba0844cb9d38 (diff)
downloadruby-3db12e8b236ac8f88db8eb4690d10e4a3b8dbcd4.tar.gz
Initial revisionv1_0_r2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'sample/sieve.rb')
-rw-r--r--sample/sieve.rb18
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"