RosettaCodeData/Task/Emirp-primes/Ruby/emirp-primes.rb

19 lines
409 B
Ruby

require 'prime'
emirp = Enumerator.new do |y|
Prime.each do |prime|
rev = prime.to_s.reverse.to_i
y << prime if rev.prime? and rev != prime
end
end
puts "First 20 emirps:", emirp.first(20).join(" ")
puts "Emirps between 7,700 and 8,000:"
emirp.with_index(1) do |prime,i|
print "#{prime} " if (7700..8000).cover?(prime)
if i==10000
puts "", "10,000th emirp:", prime
break
end
end