समस्या विवरण
एक आयत का परिमाप (perimeter) दिया गया है। उस परिमाप वाले आयत का अधिकतम संभव क्षेत्रफल (area) ज्ञात करना है।
सूत्र
- परिमाप = 2 × (लंबाई + चौड़ाई)
- क्षेत्रफल = लंबाई × चौड़ाई
दिए गए परिमाप के लिए, क्षेत्रफल अधिकतम तब होता है जब लंबाई और चौड़ाई यथासंभव बराबर हों (वर्ग के निकट)।
लंबाई = ceil(परिमाप / 4) चौड़ाई = floor(परिमाप / 4) अधिकतम क्षेत्रफल = लंबाई × चौड़ाई
उदाहरण
इनपुट: परिमाप = 95
आउटपुट: 552
इनपुट: परिमाप = 27
आउटपुट: 42 (7 × 6)
कार्यकारी प्रोग्राम
#include <bits/stdc++.h>
using namespace std;
int maxArea(float perimeter) {
int len = (int)ceil(perimeter / 4.0);
int bre = (int)floor(perimeter / 4.0);
return len * bre;
}
int main() {
float perimeter = 27;
cout << "अधिकतम क्षेत्रफल: " << maxArea(perimeter);
return 0;
}
आउटपुट
अधिकतम क्षेत्रफल: 42