In [20]:
import numpy as np
In [21]:
def precisao(c):
p = 10**(-c)
return p
In [22]:
def raizquadrada(n, c, i): # raiz quadrada de "n", com precisão de pelo menos "c" casas decimais, usando valor inicial "i"
t = 1
while np.absolute(i**2-n) > precisao(c):
i = (i**2-n)/(2*i)
t += 1
return (i, -i, t) # "t" é o número de iterações
In [23]:
raizquadrada(144, 3, 11)
Out[23]: