Programación diferencial de Newton
Generalmente, utilizamos el método de iteración de Newton para encontrar la raíz cuadrada. El código de implementación es el siguiente:
¿Doble? Método newton(¿doble? toBeSqrted)? {
¿Doble? ¿incógnita? =?1.0;
Y (abs(x?*?x?-?toBeSqrted)?& gt?1e-5)? {
x? =?(x?+?Privado?/?x)? /?2;
}
¿Volver? x;
}También puedes utilizar la búsqueda binaria. El principio es simple, pero la complejidad del algoritmo es alta.
¿Flotando? sqrtByBisection(flotante?n)? {?
¿Y si? (n?<?0)
¿Regresión? norte;?
¿Flotando? medio, último;?
¿Flotando? Bajo,? arriba;?
Bajo=0,? ¿arriba? =?n;?
¿medio? =?(¿bajo?+?arriba)? /?2;?
¿Qué hacer? {
Si (mid?*?mid?& gt?n)
¿Arriba? =?medio?
¿Y si?
¿Bajo? =?media
¿Finalmente? =?medio
medio? =?(¿arriba?+?bajo)? /?2;?
}?Y (abs(mid-?l?ast)?& gt?EPS);
¿Volver? ¿medio?
}