문제 설명
사변형 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