给定三角形的3个边的长度,计算边的中间点之间的平均距离

时间:2016-10-26 05:45:37

标签: algorithm math euclidean-distance triangular

我遇到了一个问题。问题陈述是

3人的团队将参加比赛。根据本次比赛的规定,每支队伍都有一台电脑,位于三角桌上三把椅子

团队认为参与者最方便的位置是三个参与者中的每一个都坐在他/她自己的三角桌旁,而且,重要的是,正好在这一侧的中间。< / strong>当然,椅子应该采用相同的方式。

重要的是,在比赛期间,参赛者彼此坐得不是很远。梦之队的队长认为对这个因素的恰当估计是所有参与者之间的平均距离。

在本次比赛的情况下,必须计算三角桌边中点之间的平均距离。写一个程序来计算这个。 Note that the distance is Euclidean – that is, the distance between (x1,y1) and (x2,y2) is sqrt((x_1 - x_2)^2 + (y_1 - y_2)^2).

输入

输入文件包含三个不超过100的正整数 - 表格边长。 保证这样的表格具有非零区域。

输出

输出表格两边中间点之间的平均距离,这在输入中有描述。

Examples  
Input        Output
3 4 5        2.00000000
5 5 7        2.83333333

我想到了解决这个问题的一种方法

1. Assume origin as 1 point.
2. If one of the length is 3, assume the point as (3,0).
3. Now, I struck at finding 3rd coordinate

我的方法,好吗?

请给我一个算法来解决这个问题。

谢谢

1 个答案:

答案 0 :(得分:9)

请注意,连接边缘A中间和边缘B中间的线段为half of edge C,其他边也是如此。

因此解决方案非常简单 - 边长为A,B,C的三角形的平均距离为

M = (A/2 + B/2 + C/2) / 3 = 
    (A + B + C ) / 6