calcul d'une racine carrée

/** * \file square_root.c */ #include <stdio.h> #include <stdlib.h> #include <math.h> /** * \def EPSI est la précision recherchée */ #define EPSI 1.e-6 /** * \brief Algorithme de Newton pour calculer une racine carrée. * Utilise une boucle do while pour calculer la racine. Deux conditions de sortie de boucle : * 1 L'erreur comise est <= à EPSI * 2 Le nombre max d'itérations est atteind. * NB : Aucun renseignement n'est donné quant à la condition de sortie réalisée ; * la fonction n'indique pas si e <= EPSI en fin de boucle. * A est supposé > 0 sinon les calculs n'auraient aucun sens. * * \param A Nombre dont on cherche la racine * \param U sert a stocker le résultat U=0.5*A pour des calculs relativements rapides * \param V sert a stocker le resultat, contient l'itération suivante * \param e erreur relative tant que e <= EPSI on continue les calculs * \param n nombre maximum d'itératons * \param i compteur de boucle */ int main(){ double A,U,V,e; int n,i=0; printf("A :\t"); scanf("%lf",&A); printf("\nn :\t"); scanf("%d",&n); U=A*0.5; do{ V = 0.5*(U+A/U); e = fabs((V-U)/V); U = V; i++; }while(e>=EPSI && i<n); printf("%lf",U); return 0; }
Domaine: