码迷,mamicode.com
首页 > 编程语言 > 详细

算法题:求一个整数的开方

时间:2017-05-13 21:03:23      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:cout   cpp   abs   while   space   2.0   art   return   ios   

#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;
}

算法题:求一个整数的开方

标签:cout   cpp   abs   while   space   2.0   art   return   ios   

原文地址:http://www.cnblogs.com/yfceshi/p/6850154.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!