Tuyên bố vấn đề
Cho bốn cạnh của tứ giác a, b, c, d, tìm diện tích hình tứ giác lớn nhất có thể có trong các cạnh đã cho.
Thuật toán
Chúng ta có thể sử dụng công thức của Brahmagupta dưới đây để giải quyết vấn đề này -
√ (s-a) (s-b) (s-c) (s-d)
Trong công thức trên, s là nửa chu vi. Nó được tính như sau -
S =(a + b + c + d) / 2
Ví dụ
Bây giờ chúng ta hãy xem một ví dụ -
#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; }
Đầu ra
Maximum area = 3.05