# calcul de la racine carrée d'un nombre
# version itérative
# suite :
# - x0 = 0 (ou une valeur proche de la racine carrée
# - x(n+1) = (x(n)+a/x(n)) / 2
#
from math import *

def racineCarree(nombre, xn, iteration):
    if (iteration == 0):
        return xn;
    else:
        return racineCarree(nombre,0.5*(xn+nombre/xn),iteration-1);


n = float(input("nombre ? "))
r = 1.0 # resultat futur
it = 4 # nombre d'itérations

r = racineCarree(n,1,it)
    
print('La racine carrée de ',n,' est',r, ' calculé en ', it, ' iteration(s)')
print('Le carré de  ',r, ' vaut ', r**2, ' soit un ecart de ', (n - r**2))
