Java 中平方根 (sqrt) アルゴリズム
平方根 (sqrt、平方根) は数学における一般的な数式です
平方根を求めるプログラムの使用は主に 2 つに分けられます。ステップ:
最初のステップ: while() ループ、ループの数と小数点以下の桁数を制御して、無限ループと複数の小数点以下の桁数を防止します
第 2 のステップ: ループを使用して平方根を分解します。徐々に減少し、平方根に近づきます。
同様に、他の平方根も同様に拡張できますが、
偶数の平方根は入力が正の数であることを確認する必要があることに注意してください。ループの収束を確実にするために、番号付き平方根を正の数に変換し、結果が正か負かを判断する必要があります。
/* * 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); } }出力:
sqrt(4.0) = 2.0 cbrt(9.0) = -3.0;
以上がJava で平方根 (sqrt) を求めるコードのデモの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。