8 lines
239 B
Ruby
8 lines
239 B
Ruby
def approx_pi(throws)
|
|
times_inside = throws.times.count {Math.hypot(rand, rand) <= 1.0}
|
|
4.0 * times_inside / throws
|
|
end
|
|
|
|
[1000, 10_000, 100_000, 1_000_000, 10_000_000].each do |n|
|
|
puts "%8d samples: PI = %s" % [n, approx_pi(n)]
|
|
end
|