欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

牛顿法求平方根

程序员文章站 2022-03-14 14:13:50
...

对于给定的输入N,求平方根的公式是 x(k+1) =   (xk + N/xk)/2;

需要设置一个 N的平方根的初始估计值。取N的值就可以。

#include <stdio.h>

double newton(double d)
{
        if( d < 0)
        {
                return -1;
        }

        double ret = d;

        while( ret * ret -d > 0.00001 || ret * ret - d < -0.00001)
        {
                ret = (ret + d/ret ) / 2;
        }

        return ret;
}

int main(void)
{
        double d;
        scanf("%lf", &d);
        double ret = newton(d);
        printf("%f\n", ret);
        return 0;
}

 

相关标签: Algorithms