RosettaCodeData/Task/Square-free-integers/Ruby/square-free-integers.rb
2023-07-01 13:44:08 -04:00

21 lines
461 B
Ruby

require "prime"
class Integer
def square_free?
prime_division.none?{|pr, exp| exp > 1}
end
end
puts (1..145).select(&:square_free?).each_slice(20).map{|a| a.join(" ")}
puts
m = 10**12
puts (m..m+145).select(&:square_free?).each_slice(6).map{|a| a.join(" ")}
puts
markers = [100, 1000, 10_000, 100_000, 1_000_000]
count = 0
(1..1_000_000).each do |n|
count += 1 if n.square_free?
puts "#{count} square-frees upto #{n}" if markers.include?(n)
end