include c:\cxpl\stdlib; func real NRoot(A, N, Prec); \Return the Nth root of A with precision Prec real A; int N; real Prec; real X, X0, Y, NF; int I; [NF:= float(N); X:= 1.0; \initial guess repeat X0:= X; Y:= 1.0; for I:= 1 to N-1 do Y:= Y*X0; X:= ((NF-1.0)*X0 + A/Y) / NF; until abs(X-X0) < Prec; \(until X=X0 doesn't always work) return X; ]; [Format(5, 15); RlOut(0, NRoot( 2., 2, 1.0E-15)); CrLf(0); RlOut(0, Power( 2., 0.5)); CrLf(0); \for comparison RlOut(0, NRoot(27., 3, 1.0E-15)); CrLf(0); RlOut(0, NRoot(1024., 10, 1.0E-15)); CrLf(0); ]