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

C++: Số gói giấy cần mua làm máy bay giấy

Bài toán: k người, mỗi người làm n máy bay. 1 tờ giấy làm s máy bay. 1 gói có p tờ. Tính số gói tối thiểu.

Công thức:

  1. Tờ giấy cần/người = ceil(n/s) = (n+s-1)/s.
  2. Tổng tờ = k * ceil(n/s).
  3. Số gói = ceil(tổng_tờ / p) = (tổng_tờ + p - 1) / p.

Code C++

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

int solve(int k, int n, int s, int p) {
    int sheets_per_person = (n + s - 1) / s;
    int total_sheets = k * sheets_per_person;
    return (total_sheets + p - 1) / p;
}

int main() {
    cout << solve(5, 3, 2, 3) << endl; // 4
    return 0;
}

Kết quả

4

5 người × 2 tờ/người = 10 tờ. 10/3 = 3.34 → 4 gói.