Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

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