(c++)给出三点距离牛顿迭代求解

本次实验取材郭炜老师的《程序设计与算法1》.
很多人都知道在编程语言中较为常见库函数的都会有sqrt函数,sqr函数是求平方根的,而牛顿迭代是可以求解开n次根,当然包括平方根,下面就用题目和代码,验证结果!
例题:给出三点求点与点的距离

#include<iostream>
using namespace std;
#define EPS 0.001
double Sqrt(double a)
{
	double x = a/2,lastX = x+1+EPS;
	while(x-lastX > EPS || lastX-x>EPS){
		lastX = x;
		x = (x+a/x)/2;
	}
	return x;
	
}
double Distance(double x1,double y1,double x2,double y2){
	return Sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
int main()
{
	int x1,y1,x2,y2,x3,y3;
	cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
	cout << Distance(x1,y1,x2,y2) << endl;
	cout << Distance(x1,y1,x3,y3) << endl;
	cout << Distance(x3,y3,x2,y2) << endl;
	return 0;
	
}
发布了16 篇原创文章 · 获赞 2 · 访问量 168

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/104778029