Đầu vào
N = 10, A = 5, B = 10, E = 3;
Đầu ra
Maximum litres of water: 2
Giải thích - B-E =7, 7> A n / a =10/5 =Có thể mua 2 chai nhựa
Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau
-
Số nguyên tiền, chai, gbottle và gempty được sử dụng cho tỷ giá và số tiền có được.
-
Hàm maxWater (int mny, int pb, int gb, int ge) nhận tất cả các giá trị làm tham số và in ra lượng nước có thể mua.
-
Lốp thay đổi được sử dụng để lưu trữ lượng nước tính theo lít.
-
Chúng tôi chuyển pb dưới dạng giá trị mới của chai thủy tinh (giá trị ban đầu-giá trị trả lại).
-
Nếu giá trị gb được chuyển nhỏ hơn giá trị pb thì hãy mua chai thủy tinh (mny-ge) / gb.
-
Trừ số tiền này để tính số tiền còn lại, mny- =ltrs * gb
-
Hiện có thể mua chai nhựa là mny / pb.
-
Nếu giá trị pb đã qua lớn hơn giá trị pb thì chỉ mua chai nhựa mny / pb.
-
In kết quả trong cả hai trường hợp là không. của chai là không. lít nước. Mỗi chai có 1 lít.
Ví dụ
// 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 );
}
Đầu ra
Maximum Liters of water: 14