rem - return the nth root of x to stated precision function nthroot(n, x, precision = real.double) = real.double var x0, x1 = real.double x0 = x x1 = x / n rem - initial guess while abs(x1 - x0) > precision do begin x0 = x1 x1 = ((n-1.0) * x1 + x / x1 ^ (n-1.0)) / n end end = x1 rem -- exercise the routine var i = integer var x = real.double x = 144 print "Finding the nth root of"; x; " to 8 decimal places" print " x n root" print "------------------------" for i = 2 to 8 print using "### #### ###.########"; x; i; nthroot(i, x, 1E-9) next i end