- 反対の数
問題の説明
ゼロ以外の異なる整数がN個あります。反対の数のペアがいくつあるかを調べるプログラムを作成してください(aと-aは
反対の数のペアです)。
入力形式
最初の行には正の整数Nが含まれています。(1≤N≤500)。
2行目は、単一のスペースで区切られたN個の非ゼロ整数であり、これらの整数が
異なることを保証するために、各数値の絶対値は1000を超えません。
出力形式
整数のみが出力されます。つまり、これらのN個の数値に含まれる反対の数値のペアの数です。
サンプル入力
5
1 2 3 -1 -2
出力例
2
方法1:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[501];
int n, t, sum = 0;
cin>>n;
for(int i = 0; i < n; i++)
cin>>a[i];
for(int j = 0; j < n; j++)
{
t = a[j];
for(int i = 0; i < n; i++)
{
if(t == -a[i])
sum++;
}
}
cout<<sum / 2;
return 0;
}
方法2:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[501];
int n, sum = 0;
cin>>n;
for(int i = 0; i < n; i++)
cin>>a[i];
for(int j = 0; j < n; j++)
for(int i = j + 1; i < n; i++)
if(a[i] + a[j] == 0)
sum++;
cout<<sum;
return 0;
}