সমস্যা বিবরণ
চতুর্ভুজের চারটি বাহু 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