Maison >Java >javaDidacticiel >Démonstration de code pour trouver la racine carrée (sqrt) en Java
L'algorithme de racine carrée (sqrt) en java
La racine carrée (sqrt, racine carrée) est une formule mathématique courante en mathématiques ;
L'utilisation d'un programme pour trouver la racine carrée est principalement divisée en deux étapes :
La première étape : boucle while(), contrôlez le nombre de boucles et nombre de décimales, Empêcher les boucles infinies et plusieurs décimales ;
Étape 2 : En décomposant la racine carrée, utilisez des boucles pour réduire progressivement et vous rapprocher de la racine carrée ;
De même, d'autres racines carrées peuvent également être utilisées. Semblable à l'expansion, mais il convient de noter que
les racines carrées paires doivent garantir que l'entrée est un nombre positif ;
racines carrées impaires doivent être convertis en nombres positifs pour assurer la convergence de la boucle, puis juger si le résultat est positif ou négatif ;
Le code est le suivant :
/* * Algorithms.java * * Created on: 2013.12.03 * Author: Wendy */ /*eclipse std kepler, jdk 1.7*/ public class Algorithms { public static double sqrt(double c) { if(c<0) return Double.NaN; //NaN: not a number double err = 1e-15; //极小值 double t = c; while (Math.abs(t-c/t) > err*t) //t^2接近c, 防止小数 t = (c/t + t)/2.0; return t; } public static double cbrt(double c) { boolean b = (c>0) ? true : false; //保存c的符号 c = (c>0) ? c : -c; double err = 1e-15; double t = c; while(Math.abs(t*t-c/t) > err*t) t = (c/(t*t)+t)/2.0; t = (b) ? t : -t; return t; } public static void main(String[] args) { double r = sqrt(4.0); System.out.println("sqrt(4.0) = " + r); double rc = cbrt(-27.0); System.out.println("cbrt(9.0) = " + rc); } }
Sortie :
sqrt(4.0) = 2.0 cbrt(9.0) = -3.0
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!