使用python 解ccf-csp 201403-1 相反数

相反数

试题编号: 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
发布了3 篇原创文章 · 获赞 0 · 访问量 28

猜你喜欢

转载自blog.csdn.net/qq_43630441/article/details/104629915