def sieve_of_eratosthenes(max)
arr=(2..max).to_a
(2..Math::sqrt(max)).each do |i|
arr.delete_if {|a|a % i == 0 && a!=i}
end
arr
end
# Example Call
puts sieve_of_eratosthenes(20)
ZGVmIHNpZXZlX29mX2VyYXRvc3RoZW5lcyhtYXgpCiAgYXJyPSgyLi5tYXgpLnRvX2EKICAoMi4uTWF0aDo6c3FydChtYXgpKS5lYWNoIGRvIHxpfAogICAgIGFyci5kZWxldGVfaWYge3xhfGEgJSBpID09IDAgJiYgYSE9aX0KICAgZW5kCiAgIGFycgplbmQKIAojIEV4YW1wbGUgQ2FsbApwdXRzIHNpZXZlX29mX2VyYXRvc3RoZW5lcygyMCk=