描述 给定一个正整数序列,判断其中有多少个数,等于数列中其他两个数的和。 比如,对于数列1234,这个问题的答案就是2, 因为3=2+1,4=1+3。 输入 共两行, 第一行是数列中数的个数n (1<= n <=100), 第二行是由n个不大于10000的正整数组成的数列,相邻两个整数之间用单个空格隔开。 输出 —个整数,即数列中等于其他两个数之和的数的个数。 输入样例 1 4 1 2 3 4 输出样例 1 2 语言: C++
时间: 2024-04-16 19:27:20 浏览: 328
你好!对于给定的正整数序列,判断其中有多少个数等于数列中其他两个数的和,可以使用以下的C++代码实现:
```cpp
#include <iostream>
#include <vector>
#include <unordered_set>
int countNumbers(std::vector<int>& nums) {
int count = 0;
std::unordered_set<int> numSet(nums.begin(), nums.end());
for (int i = 0; i < nums.size(); i++) {
for (int j = i + 1; j < nums.size(); j++) {
int sum = nums[i] + nums[j];
if (numSet.find(sum) != numSet.end()) {
count++;
}
}
}
return count;
}
int main() {
int n;
std::cin >> n;
std::vector<int> nums(n);
for (int i = 0; i < n; i++) {
std::cin >> nums[i];
}
int result = countNumbers(nums);
std::cout << result << std::endl;
return 0;
}
```
你可以将上述代码保存为一个名为`sum_of_2_nums.cpp`的文件,并通过编译器编译运行,输入示例的测试用例`4 1 2 3 4`,即可得到输出结果`2`。
希望能对你有所帮助!如果有任何疑问,请随时提问。
阅读全文