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

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


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

घनाभ का आयतन = लंबाई × चौड़ाई × ऊंचाई

अधिकतम आयतन तब प्राप्त हो सकता है जब तीनों भुजाएं यथासंभव एक-दूसरे के करीब हों।

आइए अब एक उदाहरण का उपयोग करके समझते हैं कि हमें क्या करना है:

उदाहरण के लिए

यहां दी गई समस्या हमें भुजाओं का योग प्रदान करती है, मान लें S। और भुजाएं हों L, B, H। आयतन को अधिकतम करने के लिए हमें भुजाओं को यथासंभव करीब ढूंढना होगा। मान लें S=6। संभावित भुजाएं हो सकती हैं:

[L=1, B=1, H=4] आयतन=4
[L=1, B=2, H=3] आयतन=6
[L=2, B=2, H=2] आयतन=8

नोट - अन्य संयोजनों के समान परिणाम होंगे। इसलिए अधिकतम आयतन तब प्राप्त होता है जब L, B, H एक-दूसरे के करीब या बराबर होते हैं।

इसलिए:

इनपुट - S=6

आउटपुट - दी गई भुजाओं के योग के साथ घनाभ का अधिकतम आयतन 8 है।

व्याख्या - आइए योग S को L, B, H में यथासंभव समान रूप से विभाजित करें।

L = S/3 → (L=2 पूर्णांक भाग, शेष S है 4)
B = (S-L)/2 = (S-S/3)/2 → (B=2, शेष S है 2)
H = S-L-B = S-S/3-(S-S/3) → (H=2, शेष S है 0)

इनपुट - S=10

आउटपुट - दी गई भुजाओं के योग के साथ घनाभ का अधिकतम आयतन 36 है।

व्याख्या - आइए योग S को L, B, H में यथासंभव समान रूप से विभाजित करें।

L = S/3 → (L=3 पूर्णांक भाग, शेष S है 7)
B = (S-L)/2 = (S-S/3)/2 → (B=3, शेष S है 4)
H = S-L-B = S-S/3-(S-S/3) → (H=4, शेष S है 0)

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

  • उपयोगकर्ता से योग के रूप में इनपुट लें।
  • लंबाई की गणना योग/3 (इंटीजर अंकगणित) के रूप में करें और योग को योग-लंबाई के रूप में अपडेट करें।
  • चौड़ाई की गणना योग/2 (इंटीजर अंकगणित) के रूप में करें और योग को योग-चौड़ाई के रूप में अपडेट करें।
  • अब शेष योग को ऊंचाई निर्दिष्ट करें।
  • नोट - भुजाओं की गणना का क्रम मायने नहीं रखता।

उदाहरण

#include <bits/stdc++.h>
using namespace std;

int Maximize_Volume(int sumofsides) {
    int length, breadth, height;
    length = breadth = height = 0;
    
    // लंबाई खोजना
    length = sumofsides / 3;
    sumofsides -= length;
    
    // चौड़ाई खोजना
    breadth = sumofsides / 2;
    
    // शेष योग ऊंचाई है
    height = sumofsides - breadth;
    
    return length * breadth * height;
}

// ड्राइवेन प्रोग्राम
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. संतुलित BST में दिए गए योग वाली जोड़ी खोजें C++ में संतुलित BST में दिए गए योग वाली जोड़ी खोजें C++ में

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

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

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

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

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