RosettaCodeData/Task/Nth-root/Sidef/nth-root-1.sidef

12 lines
266 B
Text
Raw Permalink Normal View History

2016-12-05 23:44:36 +01:00
func nthroot(n, a, precision=1e-5) {
2018-06-22 20:57:24 +00:00
var x = 1.float
var prev = 0.float
2016-12-05 23:44:36 +01:00
while ((prev-x).abs > precision) {
prev = x;
2018-06-22 20:57:24 +00:00
x = (((n-1)*prev + a/(prev**(n-1))) / n)
}
return x
2016-12-05 23:44:36 +01:00
}
2018-06-22 20:57:24 +00:00
say nthroot(5, 34) # => 2.024397458501034082599817835297912829678314204