C++ 中四边形的最大面积


问题陈述

已知四边形的四边 a、b、c、d,求用给定的边能构成的四边形最大面积。

算法

我们可以使用以下 Brahmagupta 公式来解决这个问题 −

√(s-a)(s-b)(s-c)(s-d)

在上式中,s 是半周长。计算方法如下 −

S = (a + b + c + d) / 2

示例

我们现在看一个示例 −

 实时演示

#include <bits/stdc++.h>
using namespace std;
double getMaxArea(double a, double b, double c, double d) {
   double s = (a + b + c + d) / 2;
   double area = (s - a) * (s - b) * (s - c) * (s - d);
   return sqrt(area);
}
int main() {
   double a = 1, b = 2.5, c = 1.8, d = 2;
   cout << "Maximum area = " << getMaxArea(a, b, c, d) << endl;
   return 0;
}

输出

Maximum area = 3.05

更新于: 31-Dec-2019

265 次浏览

开启你的职业生涯

完成课程,获得认证

立即开始
广告
© . All rights reserved.