巧用集合:计算输入正整数中等于两数之和的数量
```cpp #include <iostream> // 引入集合库 #include <set> // 使用标准命名空间 using namespace std; int main() { int n; // 从标准输入读取一个整数n cin >> n; // 定义一个长度为100的整数数组,用于存储输入的正整数 int numbers[100]; // 定义一个整数集合sums,用于存储所有不同两数之和 set<int> sums; // 定义一个整数集合ans,用于存储满足条件的数 set<int> ans; // 读取输入的正整数 for (int i = 0; i < n; i++) { // 从标准输入读取一个整数,并存储到数组numbers中 cin >> numbers[i]; } // 计算所有不同两数之和 for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { // 将两数之和插入到集合sums中 sums.insert(numbers[i] + numbers[j]); } } // 检查集合中的数是否等于另外两个数之和 for (int i = 0; i < n; i++) { // 检查numbers[i]是否在集合sums中 if (sums.find(numbers[i]) != sums.end()) { // 如果存在,将其插入到集合ans中 ans.insert(numbers[i]); } } // 输出结果 // 输出集合ans的大小,即满足条件的数的个数 cout << ans.size() << endl; return 0; } ``` 这段代码的主要功能是从标准输入读取`n`个正整数,计算这些正整数中所有不同两数之和,然后检查这些正整数中哪些数等于另外两个数之和,最后输出满足条件的数的个数。 代码逻辑步骤: 1. 输入处理:读取整数`n`和`n`个正整数。 2. 计算两数之和:遍历所有不同的数对,计算它们的和并存储在集合`sums`中。 3. 检查条件:遍历输入的正整数,检查每个数是否在集合`sums`中,如果存在则将其添加到集合`ans`中。 4. 输出结果:输出集合`ans`的大小。 ######[AI问答 | 558点数解答 | 2025-11-24 19:19:24]
- 易语言读取文本文件并显示到超级列表框:代码示例与注意要点(DeepSeek | 571点数解答 | 2025-08-23 20:54:40)224
- 易语言:读取并显示特定文本到超级列表框,还能增加新数据的方法与要点(DeepSeek | 1317点数解答 | 2025-08-23 20:58:40)230
- mallshop商城网站:数据库设计与强大业务功能全揭秘(GPT | 257点数解答 | 2024-12-09 14:08:15)275
- 体育课同学体力值平衡划分:利用前缀和高效解题(DeepSeek | 692点数解答 | 2025-06-18 19:19:39)175
- 用 JS 代码巧妙判断 a 与 b 关系:输出对应结果 ( | 47点数解答 | 2024-05-20 22:10:14)320
- Python 实现:根据甜度值为甜甜圈评定等级(字节豆包 | 243点数解答 | 2025-12-06 18:35:50)85
- Java实现:根据输入的三个浮点数求解一元二次方程根的判别与输出(字节豆包 | 329点数解答 | 2025-12-10 22:05:16)48
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)66
- C++ 实现根据输入正整数奇偶性计算偶数和或约数和(字节豆包 | 838点数解答 | 2026-02-28 20:23:59)24
- 巧用 JS 脚本找出集合 [1,2,2,3,3,5] 中的重复元素( | 502点数解答 | 2024-04-01 18:01:38)231
- JS 巧用 Set 数据结构找出集合 [1,2,2,3,3,5] 中的重复元素( | 220点数解答 | 2024-04-01 18:02:44)235
- JSP 实战:用 List 存 Map 集合,循环十次添加姓名和年龄! (GPT | 753点数解答 | 2024-11-25 09:16:28)230