6. 相反数

  1. 相反数
    问题描述
    有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相
    反数)。
    输入格式
    第一行包含一个正整数 N。(1 ≤ N ≤ 500)。
    第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过 1000,保证这些整数各不相
    同。
    输出格式
    只输出一个整数,即这 N 个数中包含多少对相反数。
    样例输入
    5
    1 2 3 -1 -2
    样例输出
    2
    法一:
#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;
}

法二:

#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;
}

猜你喜欢

转载自blog.csdn.net/KO812605128/article/details/113360842