2017-05-12 5 views
0

を見つける平方根の数学的証明を与える誰もがC++での正の数の平方根を見つけるために、次のコードの数学的な正しさを説明できますか?は、アルゴリズム

#include <iostream> 
#include <cmath> 

using namespace std; 

int main(){ 
    float a; cin>>a; 
    cout<<"Answer by Math library\n"<<sqrt(a)<<"\n"; 

    //the following is the code for finding the square root of a positive double 

    double g=a; 

    while(abs(g*g-a)>1e-8){ 
     g= (g+(a/g))/2; 
    } 

    cout<<"Answer by this algorithm\n"<<g<<"\n"; 

    return 0; 
} 
+0

https://math.stackexchange.com/に適した問題のようです – AlexG

+0

これは主に数学の質問で、[数学SE]に属しているので、 (https://math.stackexchange.com/)。 – You

+1

この質問は、おそらくC++コードで与えられた[math.se]には適切ではないことに注意してください。最初のステップは、それをより言語に依存しない形式に変換することです。 – Dukeling

答えて

1

それは(ニュートン法由来)バビロニア法と呼ば平方根を計算するためのおおよそのアルゴリズム、です:

enter image description here

とあなたはそれがWikipediaにコンバージェンスですについて読むことができます。

関連する問題