Javaでの平方根(sqrt)アルゴリズムの詳細な例


Javaの平方根(sqrt)アルゴリズム strong>
平方根、平方根は数学で一般的な数式です。

span> strong>
プログラムを使用して平方根を見つけることは、主に2つのステップに分けられます。


最初のステップ:while()ループ、ループの数と小数点以下の桁数を制御して、無限ループと小数点以下の桁数が増えるのを防ぎます;


ステップ2:ループを使用して平方根を分解することにより、平方根の近くで徐々に減少します。
同様に、他の平方根も同様に拡張できますが、

偶数の根の場合は、必ず正の数を入力してください。

奇数の数ループが確実に収束するように、平方根を正の数に変換する必要があります。その後、正と負の結果が判断されます。
コードは次のとおりです。




/ *
*アルゴリズムs.java
*
*作成日:2013.12.03
*作成者:Wendy
* /

/ * eclipse std kepler、jdk 1.7 * /

public class Algorithms
{
public static double sqrt(double c)
{
if(c< 0)return Double.NaN; // NaN:数値ではありません
double err = 1e-15; //最小
doublet = 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)?真/偽; //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


読んでいただきありがとうございます、それがあなたを助けることを願っています、このサイトへのあなたのサポートに感謝します!