RosettaCodeData/Task/Smarandache-prime-digital-sequence/Ruby/smarandache-prime-digital-sequence.rb
2023-07-01 13:44:08 -04:00

17 lines
382 B
Ruby

require "prime"
smarandache = Enumerator.new do|y|
prime_digits = [2,3,5,7]
prime_digits.each{|pr| y << pr} # yield the below-tens
(1..).each do |n|
prime_digits.repeated_permutation(n).each do |perm|
c = perm.join.to_i * 10
y << c + 3 if (c+3).prime?
y << c + 7 if (c+7).prime?
end
end
end
seq = smarandache.take(100)
p seq.first(25)
p seq.last