RosettaCodeData/Task/Nth-root/Ruby/nth-root.rb

11 lines
212 B
Ruby
Raw Permalink Normal View History

2013-04-10 23:57:08 -07:00
def nthroot(n, a, precision = 1e-5)
x = Float(a)
begin
prev = x
x = ((n - 1) * prev + a / (prev ** (n - 1))) / n
end while (prev - x).abs > precision
x
end
p nthroot(5,34) # => 2.02439745849989