C++程序:如何求内接于六边形的最大三角形的面积?


要找到内接于六边形的最大三角形的面积,我们需要了解这些图形是什么,以及一个图形是如何内接于另一个图形的。

三角形是一个封闭图形,具有3条边,这些边可以是相等或不同的大小。

六边形是一个封闭图形,具有6条边,这些边可以是相等或不相等的大小。

内接于六边形的三角形的所有顶点都与六边形的顶点相接触。因此,三角形的边可以被视为正六边形的对角线。这里考虑的六边形是一个正六边形,这导致最大的三角形成为等边三角形。

让我们推导出这个公式:

请参考下图:

在三角形 AGB 中,我们应用勾股定理。

(a/2)2 + (s/2)2 = a2 ,a = side of regular hexagon

                     s = side of equilateral triangle

a2/4 + s2/4 = a2

a2 - a2/4 = s2/4 3a2/4 = s2/4 3a2 = s2 a√3 = s Area = (3√3*a^2)/4

让我们举个例子:

六边形的边长 = 6

三角形的面积 = 46.7654

解释:面积 = 3√3*36/4 = 46.7654

示例

 现场演示

#include <iostream>
#include <math.h>
using namespace std;
int main() {
   float a = 6;
   if (a < 0)
      cout<<"Wrong Input!";
   float area = (3 * sqrt(3) * pow(a, 2)) / 4;
   cout <<"The area of the triangle is "<<area;
   return 0;
}

输出

The area of the triangle is 46.7654

更新于: 2019年10月4日

198 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告