用迭代法求 a 的平方根。求平方根的迭代公式为····

来源:互联网 发布:淘宝开店名字大全 编辑:程序博客网 时间:2024/05/01 08:05

用迭代法求 a 的平方根 x  。求平方根的迭代公式为

Xn+1 = 1/2( Xn + a/Xn )

要求前后两次求出的 的差的绝对值小于10-5时结束,并输出每次迭代的结果和最后结果。 



#include <iostream>

#include <cmath>

using namespace std;


int main(){

    

    double a,result;

    cin>>a;

    

    if (a<0){

        cout<<"Illegal!";

        return 0;

    }

    if (a==0) {

        result = 0;

        cout<<"Result: "<<result<<endl;

        return 0;

    }

    


    double x = a/2,x0;

    int i =0;

    

    do {

        

        x0 = x;

        

        i++;

        

        x = 0.5*(x0+a/x0);


        cout<<""<<i<<"次迭代: "<<x<<endl;

    

        result = x;

        

    }while(abs(x0-x)>=1.0e-5);

    

    cout<<"final result: "<<result<<endl;

    

    

}


 

3


第1次迭代: 1.75

第2次迭代: 1.73214

第3次迭代: 1.73205

第4次迭代: 1.73205


final result: 1.73205




阅读全文
0 0