हमें एन रुपये दिए जाते हैं। लक्ष्य पैसे से अधिकतम संभव पानी खरीदना है जहां पानी की बोतलों की दरें इस प्रकार हैं -
- प्लास्टिक की बोतलें:एक रुपये में 1 लीटर
- कांच की बोतलें:1 लीटर के लिए B रुपये
- कांच की बोतलें:1 लीटर के लिए B रुपये
अब कांच की बोतलों की मूल कीमत बी-ई रुपये हो जाती है। लौटने के बाद।
अगर प्लास्टिक की बोतलों की कीमत अभी भी बी-ई से कम है तो प्लास्टिक की बोतलें ही खरीदें। नहीं तो N-E/B-Eग्लास की बोतलें खरीदें और बाकी प्लास्टिक की बोतलों पर खर्च करें।
इनपुट
N = 6, A = 5, B = 4, E = 3;
आउटपुट
Maximum litres of water: 3
इनपुट
N = 10, A = 5, B = 10, E = 3;
आउटपुट
Maximum litres of water: 2
स्पष्टीकरण − B-E=7, 7>A n/a=10/5 =2 प्लास्टिक की बोतलें खरीदी जा सकती हैं
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
पूर्णांक धन, बोतल, बोतल, और रत्न का उपयोग दरों और हमारे पास मौजूद धनराशि के लिए किया जाता है।
-
फ़ंक्शन मैक्सवाटर (इंट एमनी, इंट पीबी, इंट जीबी, इंट जीई) सभी मानों को पैरामीटर के रूप में लेता है और खरीदे जा सकने वाले पानी की मात्रा को प्रिंट करता है।
-
पानी की गणना की गई मात्रा को लीटर में संग्रहित करने के लिए परिवर्तनीय लीटर का उपयोग किया जाता है।
-
हम पीबी को कांच की बोतल (मूल मूल्य-वापसी मूल्य) के एक नए मूल्य के रूप में पास करते हैं।
-
यदि पारित gb मान pb मान से कम है, तो (mny-ge)/gb कांच की बोतलें खरीदें।
-
बचे हुए पैसे की गणना करने के लिए इस राशि को घटाएं, mny-=ltrs*gb
-
अब खरीदी जा सकने वाली प्लास्टिक की बोतलें mny/pb हैं।
-
यदि पारित pb मान pb मान से अधिक है तो केवल mny/pb प्लास्टिक की बोतलें ही खरीदें।
-
दोनों मामलों में प्रिंट परिणाम नहीं के रूप में। बोतलों का नहीं है। लीटर पानी का। प्रत्येक बोतल में 1 लीटर क्षमता होती है।
उदाहरण
// CPP implementation of the above approach #include<bits/stdc++.h> using namespace std; void maxWater(int mny,int pb,int gb,int ge){ int litrs; // if buying glass bottles is profitable if (gb < pb){ // no. of glass bottles int tmp=mny-ge/gb; litrs=tmp>0?tmp:0; mny-=litrs*gb; // no. of plastic bottles litrs+=mny/pb; cout<<"Maximum Liters of water : "<<litrs<<endl; } // only plastic bottles else cout<<"Maximum Liters of water only Plastic bottles: "<<(mny /pb)<<endl; } int main(){ int money = 20, pbottle=5, gbottle=10, gempty = 8; gbottle=gbottle-gempty; //new cost of glass botlles maxWater( money,pbottle,gbottle,gempty ); }
आउटपुट
Maximum Liters of water: 14