CCF-CSP 201403-1 相反数 (python)

试题名称

201403-1 相反数

问题描述

有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。

输入格式

第一行包含一个正整数 N。(1 ≤ N ≤ 500)。
第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。

输出格式

只输出一个整数,即这 N 个数中包含多少对相反数。

样例输入

5
1 2 3 -1 -2

样例输出

2

解法

n = int(input())
# 输入N 个用单个空格隔开的非零整数, .split() 会使用空格作为分隔符将数据存入l中
l = input().split()
# map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
# Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。
l = list(map(int, l))
l_length = len(l)
sum = 0
for i in range(l_length):
    if i == l_length - 1:
        break
    for j in range(i + 1, l_length):
        if l[i] == -l[j]:
            sum += 1
print(sum)

猜你喜欢

转载自blog.csdn.net/qq_43503670/article/details/115034867