打赏

CCF系列之相反数(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

解题思路:

代码(java):

  

 1 package ccf_test2014_03;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Opposite {
 6     
 7     final static int MAX = 1000;
 8 
 9     public static void main(String[] args) {
10         
11         int[] shuju = new int[MAX];
12         
13           Scanner input = new Scanner(System.in);
14           
15           int n = input.nextInt();
16           
17           input.nextLine();
18           
19           int result = 0;
20           
21           for(int i = 0; i < n; i++){
22               
23               int num = input.nextInt();
24               
25               num = Math.abs(num);
26               
27               shuju[num]++;
28               
29               if(shuju[num]>1){
30                   
31                   result++;
32               }    
33           }
34          System.out.println(result);
35     }
36 }

结果:

  

posted @ 2016-03-27 22:49  海米傻傻  阅读(295)  评论(0编辑  收藏  举报