हमें एक घनाभ की भुजाओं का योग दिया गया है। एक घनाभ की तीन भुजाएँ लंबाई, चौड़ाई और ऊँचाई होती हैं। घनाभ के आयतन की गणना तीनों पक्षों के गुणनफल के रूप में की जाती है।
घनाभ का आयतन =लंबाई X चौड़ाई X ऊँचाई
यदि तीनों पक्ष यथासंभव निकट हों तो अधिकतम आयतन प्राप्त किया जा सकता है।
आइए अब एक उदाहरण का उपयोग करके समझते हैं कि हमें क्या करना है -
उदाहरण के लिए
यहां दी गई समस्या हमें पक्षों का योग प्रदान करती है, मान लीजिए एस। और पक्षों को एल, बी, एच होने दें। आयतन को अधिकतम करने के लिए हमें पक्षों को जितना संभव हो उतना करीब खोजना होगा। मान लें कि हमारे पास S=6 है। संभावित पक्ष हो सकते हैं -
[L=1,B=1,H=4] volume=4 [L=1,B=2,H=3] volume=6 [L=2,B=2,H=2] volume=8
नोट - अन्य संयोजनों के समान परिणाम होंगे। इसलिए अधिकतम आयतन तब प्राप्त होता है जब L,B,H एक दूसरे के करीब या बराबर होते हैं।
इसलिए -
इनपुट - एस=6
आउटपुट − दिए गए भुजाओं के योग के साथ घनाभ का अधिकतम आयतन 8 है।
स्पष्टीकरण - आइए योग S को L,B,H में जितना संभव हो उतना समान रूप से विभाजित करें।
L=S/3 ----> (L=2 integer part, remaining S is 4) B=(S-L)/2=(S-S/3)/2 ----> (B=2, remaining S is 2) H=S-L-B = S-S/3-(S-S/3) ----> (H=2, remaining S is 0)
इनपुट -एस=10
आउटपुट - दिए गए भुजाओं के योग वाले घनाभ का अधिकतम आयतन 36 है।
स्पष्टीकरण - आइए योग S को L,B,H में जितना संभव हो उतना समान रूप से विभाजित करें।
L=S/3 ----> (L=3 integer part, remaining S is 7) B=(S-L)/2=(S-S/3)/2 ----> (B=3, remaining S is 4) H=S-L-B = S-S/3-(S-S/3) ----> (H=4, remaining S is 0)
निम्नलिखित कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है
-
उपयोगकर्ता से योग के रूप में इनपुट लें।
-
लंबाई की गणना योग/3 (पूर्णांक अंकगणित) के रूप में करें और योग को योग-लंबाई के रूप में अपडेट करें।
-
चौड़ाई की गणना योग/2 (पूर्णांक अंकगणित) के रूप में करें और योग को योग-चौड़ाई के रूप में अपडेट करें।
-
अब शेष राशि को ऊँचाई पर असाइन करें।
-
नोट - पक्षों के लिए गणना का क्रम मायने नहीं रखता।
उदाहरण
#include <bits/stdc++.h> using namespace std; int Maximize_Volume(int sumofsides){ int length,breadth,height; length=breadth=height=0; // finding length length = sumofsides / 3; sumofsides -= length; // finding breadth breadth = sumofsides / 2; // remaining sumofsides is height height = sumofsides - breadth; return length * breadth * height; } // Driven Program int main(){ int sos = 12; cout << "Maximized volume of the cuboid with given sum of sides is "<<Maximize_Volume(sos) << endl; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो हमें निम्न आउटपुट मिलेगा -
Maximized volume of the cuboid with given sum of sides is 64