สมมติว่าเรามีตัวเลขสี่ตัว 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