使用C++解决P3309乘积求和问题
以下是解决该问题的C++代码: ```cpp #include <iostream> using namespace std; int main() { int n; // 读取整数n cin >> n; int a[200005]; // 读取n个整数 for (int i = 0; i < n; i++) { cin >> a[i]; } long long sum = 0; // 双重循环计算两两相乘再相加的和 for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { sum += (long long)a[i] * a[j]; } } // 输出结果 cout << sum << endl; return 0; } ``` ### 代码解释 1. **输入读取**:首先读取整数`n`,表示有`n`个整数。然后使用循环读取这`n`个整数,存储在数组`a`中。 2. **计算两两相乘的和**:使用双重循环遍历数组,外层循环控制第一个数的索引`i`,内层循环控制第二个数的索引`j`,且`j`从`i + 1`开始,避免重复计算。将每对数字相乘的结果累加到变量`sum`中。 3. **输出结果**:最后输出计算得到的和`sum`。 ### 复杂度分析 - **时间复杂度**:$O(n^2)$,因为使用了双重循环。 - **空间复杂度**:$O(n)$,主要用于存储输入的整数数组。 ######[AI问答 | 396点数解答 | 2026-05-10 16:01:36]
- JSP 实现商品展示模块:分页、搜索、交互与美观界面全搞定!(字节豆包 | 19点数解答 | 2024-12-13 15:00:43)365
- Python 实现:根据入职年限和销售业绩精准计算职工奖金并列表输出(字节豆包 | 215点数解答 | 2024-11-07 01:01:17)117
- C3期末:精准求解 3 - 20 范围内数列第 k 项值及注意要点(字节豆包 | 242点数解答 | 2025-06-15 11:26:19)165
- C++求解:查找3 - 20项数列第k项值及注意要点(字节豆包 | 325点数解答 | 2025-06-15 11:27:11)185
- PyCharm 中用 Selenium 编写自动化测试脚本,轻松登录 eShop 测试平台并点击“我的订单”(字节豆包 | 304点数解答 | 2024-11-06 15:38:30)461
- Winform开发:含验证与清空功能的注册页面实现(GPT | 5266点数解答 | 2024-06-14 16:04:40)501
- jQuery 实现姓名、邮箱、电话表单验证:成功显示消息,失败提示错误(百度文心 | 858点数解答 | 2024-10-26 23:36:38)438
- jQuery实现表单验证:姓名、邮箱、电话一个都不能少!(阿里通义 | 629点数解答 | 2024-10-29 09:16:19)370
- Go语言实现:动态用户Websocket服务端,生产者消息精准转发多消费者架构设计(字节豆包 | 559点数解答 | 2025-02-25 09:20:32)260
- Go语言实现Windows环境下高性能WebSocket服务端:生产者-消费者架构设计与代码解析(阿里通义 | 600点数解答 | 2025-02-25 09:21:10)231
- MySQL 数据库操作:用德鲁伊连接池和 Spring JDBC 实现 MVC 架构下 Student 表操作及事务测试全解析(字节豆包 | 1115点数解答 | 2025-03-19 11:17:31)315
- Spring JDBC+德鲁伊连接池:MVC架构下MySQL学生表查询、事务验证及代码实现全解析(DeepSeek | 1275点数解答 | 2025-03-19 11:21:32)300