迭代法求某数的平方根

作者在 2012-02-28 21:26:01 发布以下内容
 
编写C程序,用迭代法求x=a^(1/2)。求平方根的迭代公式为:Xn+1=1/2(Xn+a/Xn)要求前后两次求出的得差的绝对小于0.00001。
给出的答案一般是:
#include"stdio.h"
#include"math.h"
int main()  
{
    float x0,x1,a;  
    scanf("%f",&a);  
    x1=a/2;  
    do  
    {
        x0=x1;x1=(x0+a/x0)/2;
    }while(fabs(x0-x1)>=0.00001);  
    printf("%.3f\n",x1);
    return 0;
}
2的平方根
#include<stdio.h>
#include<math.h>
int main()
{
    double n=2;
    double a=0;
    double b=n;
    while(fabs(a-b)>1E-15)
    {
        a=(a+b)/2;
        b=n/a;
    }
    printf("a=%f\n,b=%f\n,n=%f\n",a,b,n);
    return 0;
}
 
基础知识 | 阅读 1633 次
文章评论,共0条
游客请输入验证码
浏览48163次