牛顿法求平方根

世界,早安!

这几个晚上经常睡不着,12点多上去睡觉到3点才能睡去,所以昨晚决定拿本无聊的书去看,看到无聊之处自然就睡着了……然后找了本《计算机程序的构造和解释》(第二版),是在博客园上网友推荐的。

翻看了几页,发现了一种叫求平方根的牛顿法……牛顿真的是无处不在呀……

你任说1个整数x,我任猜它的平方根为y,如果不对或精度不够准确,那我令y = (y+x/y)/2。如此循环反复下去,y就会无限逼近x的平方根。

至于为什么,可以参照如何用牛顿法求一个数的平方根 

double sqr(double n) 
{
    double k = 1.0;             //可任取 
    while(fabs(k*k-n)>1e-9)     //double不能用==比较 
    { 
        k=(k+n/k)/2; 
    } 
    return k; 
}

昨天晚上我就在想这究竟是为什么呢,然后想啊想就睡着了……

原文地址:https://www.cnblogs.com/chenyg32/p/3306893.html