สมมติว่าเรามีตัวเลขสองตัว n และ k ในงานปาร์ตี้มีเพื่อนที่ได้รับเชิญ Amal ต้องการเชิญในรูปแบบของ origami สำหรับคำเชิญแต่ละครั้ง เขาต้องการกระดาษสีแดงสองใบ กระดาษสีเขียวห้าใบ และกระดาษสีน้ำเงินแปดใบ สมุดโน้ตแต่ละสีมีจำนวนไม่จำกัด แต่สมุดโน้ตแต่ละเล่มมีเพียงสีเดียวด้วยกระดาษ k เราต้องหาจำนวนสมุดบันทึกขั้นต่ำที่ Amal ต้องซื้อเพื่อเชิญเพื่อนของเขาทั้ง n คน
ดังนั้นหากอินพุตเป็นเหมือน n =3; k =5 แล้วผลลัพธ์จะเป็น 10 เพราะเราต้องการสมุดบันทึกสีแดง 2 ตัว สมุดบันทึกสีเขียว 3 ตัว และสมุดบันทึกสีน้ำเงิน 5 ตัว
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
(2 * n + k - 1) / k + (5 * n + k - 1) / k + (8 * n + k - 1) / k
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <bits/stdc++.h> using namespace std; int solve(int n, int k){ return (2 * n + k - 1) / k + (5 * n + k - 1) / k + (8 * n + k - 1) / k; } int main(){ int n = 3; int k = 5; cout << solve(n, k) << endl; }
อินพุต
3,5
ผลลัพธ์
10