酷代码 AI
菜单
服务商

#include <iostream> #include <set> using namespace std; int main() { int n; cin >> n; int numbers[100]; set<int> sums; set<int> ans; // 读取输入的正整数 for (int i = 0; i < n; i++) { cin >> numbers[i]; } // 计算所有不同两数之和 for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { sums.insert(numbers[i] + numbers[j]); } } // 检查集合中的数是否等于另外两个数之和 for (int i = 0; i < n; i++) { if (sums.find(numbers[i]) != sum

```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`的大小。 [2025-11-24 19:19:24 | AI问答 | 558点数解答]

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