Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โค้ด C++ นับจำนวนแพ็คกระดาษที่ต้องซื้อ

โจทย์: ทำเครื่องบินกระดาษ 1 ตัวใช้ 1/2 แผ่น (s ตัวต่อแผ่น) k คน ทำคนละ n ตัว ซื้อแพ็คละ p แผ่น หาจำนวนแพ็คน้อยที่สุด

Input: k=5, n=3, s=2, p=3 → Output: 4 (ต้องการ 5×2=10 แผ่น → 4 แพ็ค = 12 แผ่น)

ขั้นตอนแก้

sheets_per_person := ceil(n / s)
total_sheets := k * sheets_per_person
packs := ceil(total_sheets / p)
return packs

ตัวอย่างโค้ด

#include <bits/stdc++.h>
using namespace std;
int solve(int k, int n, int s, int p) {
    int ans = k * ((n + s - 1) / s);
    return (ans + p - 1) / p;
}
int main() {
    int k=5, n=3, s=2, p=3;
    cout << solve(k,n,s,p) << endl;
}

Input

5, 3, 2, 3

Output

4