首页 > 代码库 > Sqrt
Sqrt
牛顿迭代法
1 double NewtonMethod(double fToBeSqrted) 2 { 3 double x = 1.0; 4 while(abs(x*x-fToBeSqrted) > 1e-5) 5 { 6 x = (x+fToBeSqrted/x)/2; 7 } 8 9 return x;10 }
二分法
1 float get_sqrt(float x) 2 { 3 float low=0, up=x, mid, now; 4 mid=(low+up)/2; 5 do 6 { 7 now=mid; //**now保存上一次计算的值 8 if(mid*mid<x) //**mid偏小,右移 9 {10 low=mid;11 }12 else //**mid偏大,左移13 {14 up=mid;15 }16 mid=(low+up)/2;17 }while(abs(mid-now)>eps); //**两次计算的误差小于eps,mid即为所求值18 return mid;19 }
Sqrt
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。