酷代码 AI
菜单
服务商

C++ 代码解决乌拉乎自助餐厅饱腹问题:按序择食找吃饱时刻

以下是解决该问题的 C++ 代码: ```cpp #include <iostream> using namespace std; int main() { int n, m; // 输入食物的数量 n 和乌拉乎的饥饿度 m cin >> n >> m; int satiety[n + 1]; // 输入每盘食物的饱腹值 for (int i = 1; i <= n; i++) { cin >> satiety[i]; } for (int i = 1; i <= n; i++) { // 判断是否为 3 的倍数或者 7 的倍数 if (i % 3 == 0 || i % 7 == 0) { continue; } // 减少饥饿度 m -= satiety[i]; // 判断是否吃饱 if (m <= 0) { cout << i << endl; return 0; } } // 选完所有食物仍未吃饱 cout << -1 << endl; return 0; } ``` 代码解释: 1. 输入部分:首先读取食物的数量 `n` 和乌拉乎的饥饿度 `m`,接着读取每盘食物的饱腹值并存储在数组 `satiety` 中。 2. 遍历食物:使用 `for` 循环遍历每盘食物,对于编号是 3 的倍数或者 7 的倍数的食物,使用 `continue` 语句跳过。 3. 减少饥饿度:对于符合条件的食物,将乌拉乎的饥饿度减去该食物的饱腹值。 4. 判断是否吃饱:每次减去饱腹值后,检查乌拉乎的饥饿度是否小于等于 0,如果是,则输出当前食物的编号并结束程序。 5. 未吃饱情况:如果遍历完所有食物后,乌拉乎的饥饿度仍然大于 0,则输出 `-1`。 ######[AI问答 | 440点数解答 | 2025-11-22 17:10:43]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]