Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में दिए गए भुजाओं के योग के साथ घनाभ का आयतन अधिकतम करें


हमें एक घनाभ की भुजाओं का योग दिया गया है। एक घनाभ की तीन भुजाएँ लंबाई, चौड़ाई और ऊँचाई होती हैं। घनाभ के आयतन की गणना तीनों पक्षों के गुणनफल के रूप में की जाती है।

घनाभ का आयतन =लंबाई 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

  1. C++ में संतुलित BST में दिए गए योग के साथ एक युग्म खोजें

    मान लीजिए कि हमारे पास एक संतुलित बाइनरी सर्च ट्री और एक लक्ष्य योग है, हमें एक ऐसी विधि को परिभाषित करना होगा जो यह जांचती है कि यह योग के साथ एक जोड़ी लक्ष्य योग के बराबर है या नहीं। इस मामले में। हमें यह ध्यान रखना होगा कि बाइनरी सर्च ट्री अपरिवर्तनीय है। तो, अगर इनपुट पसंद है तो आउटपुट होगा

  1. C++ में arr[i]*i का योग अधिकतम करें

    समस्या कथन एन पूर्णांकों की एक सरणी को देखते हुए। आपको सरणी के तत्वों को पुनर्व्यवस्थित करने की अनुमति है। कार्य Σarr[i]*i का अधिकतम मान ज्ञात करना है, जहाँ i =0, 1, 2, .. n - 1. यदि इनपुट ऐरे ={4, 1, 6, 2} तो अधिकतम योग 28 होगा यदि हम क्रमबद्ध क्रम में तत्वों को पुनर्व्यवस्थित करते हैं- {1, 2, 4,

  1. अंकों के साथ न्यूनतम संख्या और केवल 7 और C++ में दिया गया योग

    समस्या कथन भाग्यशाली संख्याएँ धनात्मक पूर्णांक होती हैं जिनके दशमलव निरूपण में केवल भाग्यशाली अंक 4 और 7 होते हैं। कार्य न्यूनतम भाग्यशाली संख्या ज्ञात करना है जिसमें n के बराबर अंकों का योग हो। उदाहरण यदि योग =22 है तो लकी नंबर 4477 है क्योंकि 4 + 4 + 7 + 7 =22 एल्गोरिदम 1. If sum is multiple of