1

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

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

团队认为参与者最方便的位置是三名参与者各自坐在三角桌自己一侧的位置,重要的是,正好在这一边的中间。当然,椅子应该以同样的方式放置。

重要的是,在比赛期间,参赛者彼此之间的距离不要太远。梦之队的队长认为这个因素的正确估计是所有这些参与者之间的平均距离。

在本次比赛中,必须计算三角形表边中点之间的平均距离。编写一个程序来精确计算这一点。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

我的方法好吗?

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

谢谢

4

1 回答 1

9

请注意,连接边 A 的中间和边 B 的中间的线段是边 C 的一半,其他边也是如此。

所以解决方案非常简单 - 边长为 A、B、C 的三角形的平均距离为

M = (A/2 + B/2 + C/2) / 3 = 
    (A + B + C ) / 6 
于 2016-10-26T06:06:20.527 回答