สมมติว่าเรามีตัวเลขสี่ตัว k, n, s และ p ในการทำเครื่องบินกระดาษ ใช้กระดาษสี่เหลี่ยม จากแผ่นขนาดมาตรฐาน เราสามารถสร้างจำนวนเครื่องบินได้ กลุ่มคน k คนตัดสินใจสร้างเครื่องบิน n ลำต่อคน พวกเขาจะไปซื้อกระดาษหลายห่อ แต่ละห่อมีแผ่น p แล้วแจกจ่ายแผ่นให้คนอื่น แต่ละคนควรมีผ้าปูที่นอนเพียงพอสำหรับทำเครื่องบินแต่ละลำ เราต้องนับจำนวนซองที่เราควรซื้อไหม
ดังนั้น ถ้าอินพุตเป็น k =5; n =3; s =2; p =3 แล้วเอาท์พุตจะเป็น 4 เพราะต้องซื้อกระดาษ 4 ซอง ได้ทั้งหมด 12 แผ่น แจกคนละ 2 แผ่น
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
ans := k * ((n + s - 1) / s) return (ans + p - 1) / p
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#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; int n = 3; int s = 2; int p = 3; cout << solve(k, n, s, p) << endl; }
อินพุต
5, 3, 2, 3
ผลลัพธ์
4