相反数
试题编号: | 201403-1 |
试题名称: | 相反数 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: |
问题描述
有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。
输入格式
第一行包含一个正整数 N。(1 ≤ N ≤ 500)。
第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。
输出格式
只输出一个整数,即这 N 个数中包含多少对相反数。
样例输入
5
1 2 3 -1 -2
样例输出
2
|
问题分析: 这个问题比较简单,遍历取反判断是否有相反数即可(这种方法不是最优,相反数会记录两次,所以最后需要处理)。
代码:
n=int(input())
num = input().split()
#用于记录数的个数
a=0
for i in range(len(num)):
#因为num是str类型的,所以先转成int,再转成str
if str(-int(num[i])) in num:
a+=1
#因为会记录两次,所以除以2
print(int(a/2))
结果:
提交编号 | 试题名称 | 编程语言 | 评测结果 | 时间使用 | 空间使用 |
---|---|---|---|---|---|
1794548 | 相反数 | python | 正确 | 62ms | 8.605MB |