CCF-201403-1-相反数
2017-09-10 21:41
295 查看
问题描述
有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。
输入格式
第一行包含一个正整数 N。(1 ≤ N ≤ 500)。
第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。
输出格式
只输出一个整数,即这 N 个数中包含多少对相反数。
样例输入
5
1 2 3 -1 -2
样例输出
2
解题思路
通过fabs绝对值函数将负数转变成正数来寻找相反数。
代码如下
有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。
输入格式
第一行包含一个正整数 N。(1 ≤ N ≤ 500)。
第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。
输出格式
只输出一个整数,即这 N 个数中包含多少对相反数。
样例输入
5
1 2 3 -1 -2
样例输出
2
解题思路
通过fabs绝对值函数将负数转变成正数来寻找相反数。
代码如下
#include <iostream> #include <cmath> #include <vector> #include <algorithm> using namespace std; int main() { int n,i; cin>>n; vector <int> v(n); for(i=0;i<n;i++) cin>>v[i]; sort(v.begin(),v.end());//排序 int count=0; for(i=0;i<n;i++) { if(v[i]>0) break; //当负数全部算完之后就跳出循环 for(int j=i+1;j<n;j++) if(fabs(v[i])==v[j]) count++; } cout<<count<<endl; return 0; }
相关文章推荐
- CCF计算机软件能力认证试题练习201403-1 相反数
- CCF 201403-1 相反数
- CCF 201403-1 相反数
- CCF-相反数-201403-1
- CCF-201403-1-相反数
- CCF 201403-1 相反数
- 【ccf-201403-1】相反数
- CCFCSP 201403-1相反数
- CCF 201403-1 相反数 (水题)
- CCF 201403-1 相反数
- 201403-1 相反数 ccf
- CCF 201403-1 相反数
- CCF考试——201403-1相反数
- ccf-201403-1相反数
- CCF CSP 201403-1 相反数
- CCF CSP 201403-1 相反数
- CCF系列之相反数(201403-1)
- ccf-相反数
- CCFCSP 201403-2 窗口
- CCF CSP认证 题解:201403-2 窗口(Java语言原创)