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

Mã C ++ để tìm số lượng gói nạp được mua

Giả sử, có 'a' số trận đấu và 'b' số cuộc họp báo sẽ được tổ chức tại một sân vận động trong một tuần cụ thể. Có hai nhà ăn, một trong phòng thay đồ cầu thủ và một trong khu vực họp báo. Có hai máy pha chế nước ngọt trong nhà ăn và chúng cần được đổ đầy vào đầu tuần. Dụng cụ phân phối đồ uống của quán cà phê trong phòng thay đồ được sử dụng nhiều và nó cần được đổ lại sau mỗi trận đấu 'c' và dụng cụ phân phối của quán cà phê trong khu vực hội nghị cần được đổ lại sau mỗi sự kiện 'd'. Ủy ban bảo trì sân vận động có thể đặt hàng k gói nạp lại đồ uống vào đầu mỗi tuần, gói 'x' cho nhà ăn phòng thay đồ và gói 'y' cho nhà ăn phòng hội nghị nơi x + y <=k. Với lịch trình đối sánh, chúng tôi phải tìm ra các giá trị của x và y và nếu cần nhiều hơn k gói nạp, chúng tôi sẽ in "Giới hạn đã vượt quá".

Vì vậy, nếu đầu vào là a =8, b =8, c =4, d =6, k =9, thì đầu ra sẽ là 2, 2.

Các bước

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

a := (c + a - 1) / c
b := (d + b - 1) / d
if a + b <= k, then:
   print(a, b)
Otherwise,
   print("Limit Exceeded")

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#include <bits/stdc++.h>
using namespace std;
#define N 100
void solve(int a, int b, int c, int d, int k) {
   a = (c + a - 1) / c;
   b = (d + b - 1) / d;
   if(a + b <= k)
      cout<<a<<" "<<b<<"\n";
   else
      cout<<"Limit Exceeded."<<"\n";
}
int main() {
   int a = 8, b = 8, c = 4, d = 6, k = 9;
   solve(a, b, c, d, k);
   return 0;
}

Đầu vào

8, 8, 4, 6, 9

Đầu ra

2 2