注册 登录
编程论坛 C++教室

关于sqrt函数

雪花神剑 发布于 2009-11-11 22:33, 655 次点击
谁知道sqrt函数是怎恶么写的?       使用泰勒公式吗?
2 回复
#2
qlc002009-11-11 23:10
使用的是牛顿迭代法
#3
qlc002009-11-11 23:14
牛顿迭代方法可以很有效地求出根号a的近似值:首先随便猜一个近似值x,然后不断令x等于x和a/x的平均数,迭代个六七次后x的值就已经相当精确了。
       例如,我想求根号2等于多少。假如我猜测的结果为4,虽然错的离谱,但你可以看到使用牛顿迭代法后这个值很快就趋近于根号2了:

(       4   + 2/   4     ) / 2 = 2.25
(     2.25   + 2/   2.25   ) / 2 = 1.56944..
( 1.56944..+ 2/1.56944..) / 2 = 1.42189..
( 1.42189..+ 2/1.42189..) / 2 = 1.41423..
....
1