测试链接
总时间限制: 1000ms 内存限制: 65536kB
描述
给定一个正整数序列,判断其中有多少个数,等于数列中其他两个数的和。 比如,对于数列1 2 3 4, 这个问题的答案就是2, 因为3 = 2 + 1, 4 = 1 + 3。
输入
共两行,第一行是数列中数的个数n ( 1 <= n <= 100),第二行是由n个不大于10000的正整数组成的数列,相邻两个整数之间用单个空格隔开。
输出
一个整数,即数列中等于其他两个数之和的数的个数。
样例输入
4
1 2 3 4
样例输出
2
#include <iostream>
using namespace std;
int a[100];
int main()
{
int n,B,sum=0;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
for(int h=0;h<n;h++)
{
int B=0;
for(int w=0;w<n;w++)
{
for(int u=0;u<n;u++)
{
if(a[h]==a[w]+a[u]&&w!=u&&w!=h&&u!=h)
{
sum++;
B=1;
break;
}
}
if(B)
break;
}
}
printf("%d",sum);
return 0;
}