算法题:求一个整数的开方
2015-08-12 22:56
330 查看
#include <iostream> #include <math.h> using namespace std; double Grial(int x) { double result = 1; double num = x; do{ result = num; num = result/2.0+x/2.0/result; }while(fabs(num-result)>0.00001); return result; } //牛顿迭代公式x(n+1)=x(n)-f(x(n))/f'(x(n)) //求N的平方根就是求f(x)=N-x^2=0的解 //x1=x2; //然后就是x2 = x1-(N-x1^2)/(-2x1)=x1/2.0+N/2.0/x1 int main() { cout<<Grial(3)<<endl; return 0; }
相关文章推荐
- hdu5371 Hotaru's problem(Manacher算法变形)
- ZOJ-2753
- 字符,字节和编码
- 使用xcode 7 开发cocos2dx问题
- Reactivecocoa初级使用
- hdu 5373 The shortest problem(水)
- 百度一下
- OC-import和include的区别?
- iGrimaceV301手机在线源安装
- 文件的切割和合并
- [LeetCode]Permutation Sequence
- [LeetCode]Spiral Matrix II
- Linux id 命令
- 在用android的Canvas画图时,调用Canvas.setBitmap方法报错,IllegalStateException
- OC-UI部分,简单的登陆界面简单代码
- unity3D与ios互相通信
- hdu 5372 Segment Game(树状数组)
- 重置CentOS 7的Root密码
- LeetCode题解:Lowest Common Ancestor of a Binary Search Tree
- Java第二十天