mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
f0221db462
* object.c (rb_any_to_a): declare Object#to_a to be obsolete. * object.c (rb_Array): do not convert nil into [] automagically. * object.c (rb_Integer): use "to_int" instead of "to_i". [experimental] * object.c (nil_to_f): new method. * object.c (rb_Integer): Symbols and nil should cause error. * object.c (rb_Float): nil should cause error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
14 lines
245 B
Ruby
14 lines
245 B
Ruby
# sieve of Eratosthenes
|
|
max = Integer(ARGV.shift || 100)
|
|
sieve = []
|
|
for i in 2 .. max
|
|
sieve[i] = i
|
|
end
|
|
|
|
for i in 2 .. Math.sqrt(max)
|
|
next unless sieve[i]
|
|
(i*i).step(max, i) do |j|
|
|
sieve[j] = nil
|
|
end
|
|
end
|
|
puts sieve.compact.join(", ")
|