酷代码 AI
菜单
服务商

乌拉乎解锁密码:从1到指定数字求和问题的C++解法

```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { int m; cin >> m; // 等差数列求和公式:S = n * (n + 1) / 2 int sum = m * (m + 1) / 2; cout << sum; if (i < n - 1) { cout << " "; } } cout << endl; return 0; } ``` ### 代码解释: - 首先读取询问次数 `n`。 - 然后进入循环,循环 `n` 次,每次读取一个数字 `m`。 - 对于每个读取的数字 `m`,使用等差数列求和公式 `S = n * (n + 1) / 2` 计算从 1 到 `m` 的和,这里 `n` 就是 `m`。 - 输出计算得到的和,并且如果不是最后一个和,在输出后添加一个空格。 ### 复杂度分析: - **时间复杂度**:$O(n)$,因为只需要遍历 `n` 次。 - **空间复杂度**:$O(1)$,只使用了常数级的额外空间。 ######[AI问答 | 329点数解答 | 2026-05-23 20:23:24]

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