编程论坛
注册
登录
编程论坛
→
C++教室
关于sqrt函数
雪花神剑
发布于 2009-11-11 22:33, 655 次点击
谁知道sqrt函数是怎恶么写的? 使用泰勒公式吗?
2 回复
#2
qlc00
2009-11-11 23:10
使用的是牛顿迭代法
#3
qlc00
2009-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