输入n个不相同的正整数,问其中有多少个数,恰好等于集合中另外两个(不同的)数之和?编程要求:第一行输入n的值,第二行输入正整数集合,第三行输出结果
时间: 2023-06-02 07:02:48 浏览: 162
判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。
3星 · 编辑精心推荐
算法思路:
- 先将输入的正整数集合排序(从小到大)
- 枚举第一个加数 a 和第二个加数 b,判断它们的和是否在集合中
- 如果在集合中,就找到了一对符合条件的加数,计数器加 1
Python 代码实现:
n = int(input())
nums = list(map(int, input().split()))
nums.sort() # 先排序
count = 0 # 计数器
for i in range(n):
for j in range(i + 1, n):
target = nums[i] + nums[j]
if target in nums[j+1:]:
count += 1
print(count) # 输出结果
阅读全文