牛顿法求*方根

世界,早安!

这几个晚上经常睡不着,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; 
}

 

 

 

 

 

 

 

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

posted @ 2013-09-07 08:12  Norcy  阅读(7730)  评论(2编辑  收藏  举报