RosettaCodeData/Task/Constrained-random-points-on-a-circle/Ruby/constrained-random-points-on-a-circle-2.rb

9 lines
258 B
Ruby
Raw Permalink Normal View History

2015-02-20 00:35:01 -05:00
r2 = 10*10..15*15
range = (-15..15).to_a
2015-11-18 06:14:39 +00:00
points = range.product(range).select {|i,j| r2.cover?(i*i + j*j)}
2015-02-20 00:35:01 -05:00
puts "Precalculate: #{points.size}"
pt = Hash.new(" ")
2015-11-18 06:14:39 +00:00
points.sample(100).each{|ij| pt[ij] = " o"}
2015-02-20 00:35:01 -05:00
puts range.map{|i| range.map{|j| pt[[i,j]]}.join}