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

รหัส C++ เพื่อค้นหาจำนวนแพ็ครีฟิลที่จะซื้อ


สมมติว่ามีการแข่งขันจำนวน 'a' และจำนวนการแถลงข่าว 'b' ที่จะจัดขึ้นในสนามกีฬาในสัปดาห์หนึ่งๆ มีโรงอาหารสองแห่ง หนึ่งห้องอยู่ในห้องแต่งตัวของผู้เล่น และอีกห้องหนึ่งอยู่ในพื้นที่แถลงข่าว มีตู้กดน้ำอัดลมสองตู้ในโรงอาหาร และต้องเติมให้เต็มต้นสัปดาห์ เครื่องจ่ายเครื่องดื่มสำหรับโรงอาหารในห้องแต่งตัวถูกใช้งานอย่างหนัก และจำเป็นต้องเติมทุกครั้งที่เล่นเกม 'c' และต้องเติมเครื่องจ่ายเครื่องดื่มของโรงอาหารในห้องประชุมทุกครั้งหลังกิจกรรม 'd' ทุกครั้ง คณะกรรมการบำรุงรักษาสนามกีฬาสามารถสั่ง k ชุดเติมเครื่องดื่ม ทุกต้นสัปดาห์ ชุด 'x' สำหรับโรงอาหารในห้องแต่งตัว และ 'y' สำหรับโรงอาหารในห้องประชุม โดยที่ x + y <=k จากตารางการแข่งขัน เราต้องหาค่าของ x และ y และหากต้องการแพ็คเติมมากกว่า k เราพิมพ์ "Limit Exceeded"

ดังนั้น หากอินพุตเป็น a =8, b =8, c =4, d =6, k =9 ผลลัพธ์จะเป็น 2, 2

ขั้นตอน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

a := (c + a - 1) / c
b := (d + b - 1) / d
if a + b <= k, then:
   print(a, b)
Otherwise,
   print("Limit Exceeded")

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#include <bits/stdc++.h>
using namespace std;
#define N 100
void solve(int a, int b, int c, int d, int k) {
   a = (c + a - 1) / c;
   b = (d + b - 1) / d;
   if(a + b <= k)
      cout<<a<<" "<<b<<"\n";
   else
      cout<<"Limit Exceeded."<<"\n";
}
int main() {
   int a = 8, b = 8, c = 4, d = 6, k = 9;
   solve(a, b, c, d, k);
   return 0;
}

อินพุต

8, 8, 4, 6, 9

ผลลัพธ์

2 2