酷代码 AI
菜单
服务商

C++小队收集到了n个能量宝石,准备制造能量光剑。一个宝石只能制造一把光剑,所以他们要优先利用宝石的能量制造2级光剑,然后再制造1级光剑。请你编写一个程序,输入宝石的数量和每个宝石的能量值,输出所有能量光剑的制造结果。如果能量值大于100,表示制造2级能量光剑,输出2;如果能量值在51到100之间,表示制造1级能量光剑,输出1;如果能量值小于等于50,表示能量不足无法制造光剑,输出no。

以下是解决该问题的C++代码: ```cpp #include <iostream> using namespace std; int main() { int n; // 输入宝石的数量 cin >> n; for (int i = 0; i < n; i++) { int energy; // 输入每个宝石的能量值 cin >> energy; if (energy > 100) { // 能量值大于100,制造2级能量光剑 cout << 2 << endl; } else if (energy >= 51 && energy <= 100) { // 能量值在51到100之间,制造1级能量光剑 cout << 1 << endl; } else { // 能量值小于等于50,能量不足无法制造光剑 cout << "no" << endl; } } return 0; } ``` 代码解释: 1. 输入宝石数量:使用`cin`读取用户输入的宝石数量`n`。 2. 循环处理每个宝石:使用`for`循环遍历`n`个宝石,对于每个宝石,读取其能量值。 3. 判断能量值并输出结果: - 如果能量值大于100,输出`2`,表示制造2级能量光剑。 - 如果能量值在51到100之间,输出`1`,表示制造1级能量光剑。 - 如果能量值小于等于50,输出`no`,表示能量不足无法制造光剑。 复杂度分析: - 时间复杂度:$O(n)$,其中`n`是宝石的数量。因为需要遍历每个宝石一次。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2026-01-16 19:46:29 | AI问答 | 425点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多