Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tính số gói nạp nước ngọt cần mua cho hai khu vực bằng C++

Mô tả bài toán

Có a trận đấu, b hội nghị. Máy bán nước khu vực cầu thủ cần nạp sau c trận, khu vực báo chí sau d sự kiện. Mua tối đa k gói, x cho cầu thủ, y cho báo chí (x+y ≤ k). Tìm x,y hoặc in "Limit Exceeded".

Ví dụ

a=8,b=8,c=4,d=6,k=9 → x=ceil(8/4)=2, y=ceil(8/6)=2 → 2+2=4 ≤9 → Output: 2 2.

Thuật toán

x = ceil(a/c) = (a+c-1)/c. y = ceil(b/d) = (b+d-1)/d. Nếu x+y ≤ k thì in x,y else "Limit Exceeded".

Code C++

#include <bits/stdc++.h>
using namespace std;

void solve(int a, int b, int c, int d, int k) {
    int x = (a + c - 1) / c;
    int y = (b + d - 1) / d;
    if (x + y <= k)
        cout << x << ' ' << y;
    else
        cout << "Limit Exceeded";
}

int main() {
    int a=8,b=8,c=4,d=6,k=9;
    solve(a,b,c,d,k);
    return 0;
}

Đầu vào / Đầu ra

Input: 8,8,4,6,9

Output: 2 2