इनपुट
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