查找需要购买的补充包数量的 C++ 代码
假设在一个特定星期内,一个体育场需要举办 'a' 场比赛和 'b' 场新闻发布会。体育场有两个餐厅,一个在球员更衣室,一个在新闻发布区。每个餐厅有两个软饮料分配器,需要在一周开始时填充。更衣室餐厅的饮料分配器使用频率很高,需要每 'c' 场比赛补充一次,而新闻发布区餐厅的分配器需要每 'd' 场活动补充一次。体育场维护委员会在一周开始时可以订购 k 个饮料补充包,其中 'x' 包用于更衣室餐厅,'y' 包用于新闻发布室餐厅,且 x + y <= k。给定比赛时间表,我们必须找出 x 和 y 的值,如果需要超过 k 个补充包,则打印“超出限制”。
因此,如果输入类似于 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
广告