RosettaCodeData/Task/Giuga-numbers/Ruby/giuga-numbers.rb
2023-07-01 13:44:08 -04:00

9 lines
175 B
Ruby

require 'prime'
giuga = (1..).lazy.select do |n|
pd = n.prime_division
pd.sum{|_, d| d} > 1 && #composite
pd.all?{|f, _| (n/f - 1) % f == 0}
end
p giuga.take(4).to_a