คำชี้แจงปัญหา
กำหนดสี่ด้านของรูปสี่เหลี่ยม a, b, c, d หาพื้นที่สูงสุดของรูปสี่เหลี่ยมที่เป็นไปได้จากด้านที่กำหนด
อัลกอริทึม
เราสามารถใช้สูตรด้านล่างของพระพรหมในการแก้ปัญหานี้ -
√(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