Computer >> Máy Tính >  >> Lập trình >> C ++

Số lít nước tối đa có thể mua bằng N Rupee trong C ++

Chúng tôi được cấp N rupee. Mục tiêu là mua lượng nước tối đa có thể với số tiền mà thùng nước đóng chai như sau -

  • Chai nhựa:Đồng Rupee cho 1 lít
  • Chai thủy tinh:B Rupee cho 1 lít
  • Chai thủy tinh:B Rupee cho 1 lít

Bây giờ giá gốc của chai thủy tinh trở thành B-E rupee. Sau khi trở về.

Nếu giá thành của chai nhựa vẫn nhỏ hơn B-E, thì bạn chỉ nên mua chai nhựa. Nếu không, hãy mua chai N-E / B-Eglass và dành phần còn lại cho chai nhựa.

Đầu vào

N = 6, A = 5, B = 4, E = 3;

Đầu ra

Maximum litres of water: 3

Giải thích - B-E =1, 1

Đầ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