Skip to content

Instantly share code, notes, and snippets.

@kyuden
Created October 20, 2013 14:03
Show Gist options
  • Save kyuden/7070069 to your computer and use it in GitHub Desktop.
Save kyuden/7070069 to your computer and use it in GitHub Desktop.
eratosthenes sample
def eratosthenes( search_list, prime_list=[] )
prime_list << search_list.first
shake!( search_list, prime_list )
if prime_list.last**2 > search_list.last
return prime_list + search_list
end
eratosthenes( search_list, prime_list )
end
def shake!( target_list, filter_list )
filter_list.each do |i|
target_list.delete_if{ |j| j % i == 0 }
end
end
def under_prime max_num
eratosthenes Array( 2..max_num )
end
p under_prime(100_000)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment