คำชี้แจงปัญหา
กำหนดสี่ด้านของรูปสี่เหลี่ยม 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