Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C . में दो चरणों में निकाली जा सकने वाली अधिकतम धनराशि


हमें दो लॉकर दिए गए हैं, जैसे L1 और L2 जिनमें सिक्कों के रूप में कुछ राशि है। L1 में A सिक्के हैं और L2 में B संख्या के सिक्के हैं। हमें लॉकरों से पैसे या सिक्के ऐसे निकालने पड़ते हैं कि निकाला गया पैसा अधिकतम हो। हर बार जब किसी लॉकर से सिक्के निकाले जाते हैं, तो उसे उसकी पिछली गिनती से 1 कम सिक्के से बदल दिया जाता है। यदि हम L1 से A के सिक्के निकालते हैं तो इसे A-1 के सिक्कों से बदल दिया जाएगा और यदि हम L2 से B के सिक्के निकालते हैं तो इसे B-1 के सिक्कों से बदल दिया जाएगा। कार्य दो चरणों में निकाली गई राशि को अधिकतम करना है। इसका मतलब है कि सिक्के केवल दो बार ही निकाले जा सकते हैं।

इनपुट - एल1 - 10, एल2 - 11

आउटपुट −अधिकतम धन जिसे दो चरणों में निकाला जा सकता है – 21

स्पष्टीकरण - चरण 1 में हम L2 से 11 सिक्के निकालते हैं, L2 को 11-1=10 सिक्कों से बदल दिया जाएगा।

चरण 2 में L1 और L2 दोनों में 10 सिक्के हैं इसलिए किसी से भी निकाला जा सकता है और हमारे पास 11+10=21 सिक्के हैं जो अधिकतम हैं।

इनपुट - एल1-5, एल2-5

आउटपुट −अधिकतम धन जिसे दो चरणों में निकाला जा सकता है - 10

स्पष्टीकरण - चरण 1 में हम L1 से 5 सिक्के निकालते हैं, L1 को 5-1=4 सिक्कों से बदल दिया जाएगा।

चरण 2 में दोनों L1 में 4 सिक्के हैं और L2 में 5 सिक्के हैं इसलिए हम L2 से 5 सिक्के लेते हैं और हमारे पास 5+5=10 सिक्के हैं जो अधिकतम हैं।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • हमारे पास कुछ सिक्कों के साथ पूर्णांक के रूप में दो लॉकर L1 और L2 हैं।

  • फ़ंक्शन मैक्समनी (इंट ए, इंट बी) इनपुट के रूप में लॉकर में सिक्कों की संख्या लेता है।

  • मैक्समनी () के अंदर हम अधिकतम राशि को स्टोर करने के लिए परिवर्तनीय 'मनी' लेते हैं।

  • प्रारंभ में पैसा ए या बी से मूल्य लेता है जो भी अधिक हो। (पैसा =ए> बी? ए:बी)

  • पैसे के मूल्य की तुलना A या B से करके देखें कि किस कंटेनर के सिक्के निकाले गए हैं।

  • अब उस कंटेनर को पिछली राशि से 1 कम से बदलें। (ए-- या बी--)

  • फिर से पैसा ए या बी से मूल्य जोड़ देगा जो भी अधिक हो। (पैसा+=ए>बी?ए:बी)

    यदि k छोटा है तो सबसे छोटे k तत्वों का योग न्यूनतम होगा -
  • D1 में एब्स ((पूरे सरणी का योग) - (2 * कम से कम k तत्वों का योग)) स्टोर करें। दो बार क्योंकि सरणी योग में भी ये तत्व होते हैं।

    यदि k बड़ा है तो सबसे बड़े k तत्वों का योग उच्चतम होगा -

  • D2 में एब्स ((पूरे एरे का योग) - (2 * उच्चतम k तत्वों का योग)) स्टोर करें। दो बार क्योंकि सरणी योग में भी ये तत्व होते हैं।

  • D1 की D2 से तुलना करें और अधिकतम मान को maxD में संग्रहित करें।

  • परिणाम के रूप में maxD लौटाएं।

उदाहरण

Code:
#include <stdio.h>
#include <math.h>
// Function to return the maximum coins we can get
int maxMoney(int A, int B){
   //take coins
   int money=A>B?A:B;
   //refill the lockers with 1 less no.of coins
   if(money==A)
      A--;
   else
      B--;
   //withdraw again
   money+=A>B?A:B;
   return money;
}
// Driver code
int main(){
   int L1 = 8, L2 = 9;
   printf("Maximum money that can be withdrawn in two steps: %d" , maxMoney(L1, L2));
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Maximum money that can be withdrawn in two steps: 17

  1. अधिकतम संख्या जिसे C++ में N सेगमेंट का उपयोग करके सेवन सेगमेंट डिस्प्ले पर प्रदर्शित किया जा सकता है

    यह देखते हुए कि कार्य सात खंड प्रदर्शन की चींटी संख्या पर N खंड का उपयोग करके प्रदर्शित की जा सकने वाली अधिकतम संख्या ज्ञात करना है। आइए अब समझते हैं कि हमें एक उदाहरण का उपयोग करके क्या करना है - इनपुट -एन=5 आउटपुट - 71 स्पष्टीकरण − सबसे बड़ी संख्या सात खंडों के प्रदर्शन पर निम्नानुसार प्रदर्शि

  1. अधिकतम बिशप जिन्हें C++ में N*N शतरंज की बिसात पर रखा जा सकता है

    हमें एक इनपुट एन दिया गया है जो शतरंज की बिसात के आकार को दर्शाता है। यहाँ कार्य N के किसी भी मान का पता लगाना है, NXN शतरंज की बिसात पर कितने बिशप रखे जा सकते हैं ताकि कोई भी दो बिशप एक दूसरे पर हमला न कर सकें। आइए उदाहरणों से समझते हैं। इनपुट -एन=2 आउटपुट - अधिकतम बिशप जिन्हें N*N शतरंज की बिस

  1. अधिकतम लंबाई चक्र जो C++ में एक बाइनरी ट्री के दो नोड्स को जोड़कर बनाया जा सकता है

    हमें एक बाइनरी ट्री दिया गया है। लक्ष्य दिए गए पेड़ में अधिकतम लंबाई चक्र खोजना है। हम रूटनोड से लेफ्ट सबट्री और राइट सबट्री की अधिकतम ऊंचाई का पता लगाकर ऐसा करेंगे और सबसे लंबा चक्र पाने के लिए इन अधिकतम लंबाई वाले रास्तों से जुड़ेंगे। उपरोक्त पेड़ के लिए अधिकतम लंबाई चक्र 1-2-3-4-7-6 या 1-6-7-4