酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

C++实现1到n的累加和计算及OJ题目解析

💡 **问题解析** 题目要求对每个给定的数字 m,计算从 1 到 m 的累加和,即等差数列求和公式:`sum = m * (m + 1) / 2`。输入包含 n 次询问,输出每个询问的结果,用空格分隔。 ✅ **C++ 实现代码** ```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; // 读取询问次数 int m; for (int i = 0; i < n; i++) { cin >> m; // 读取每个询问的数字 // 使用公式计算1到m的和 int sum = m * (m + 1) / 2; // 输出结果,数字之间用空格隔开,最后一个数字后无空格 if (i < n - 1) { cout << sum << " "; } else { cout << sum << endl; } } return 0; } ``` 🔍 **代码说明** - 使用 `long long` 类型可避免溢出(虽然 m≤1000 时 int 足够,但扩展性更好)。 - 直接套用公式 `m*(m+1)/2`,时间复杂度 O(n)。 - 输入输出采用标准流,符合题目要求。 📊 **示例运行** 输入: ``` 3 5 1 10 ``` 输出: ``` 15 1 55 ``` ######[AI问答 | 346点数解答 | 2026-08-22 20:22:18]

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