A45701. 和数给定一个正整数序列, 判断其中有多少个数, 等于数列中其他两个数的和。 比如, 对于数列 1 2 3 4, 这个问题的答案就是 2, 因为 3 = 2 + 1,4 = 1 + 3。 65536输入共两行, 第一行是数列中数的个数 n ( 1 <= n <= 100), 第二行是由 n个不大于 10000 的正整数组成的数列, 相邻两个整数之间用单个空格隔开。输…
填空题
中等
知识点
题目描述
和数
给定一个正整数序列, 判断其中有多少个数, 等于数列中其他两个数的和。 比如, 对于数列 1 2 3 4, 这个问题的答案就是 2, 因为 3 = 2 + 1,4 = 1 + 3。
时间限制: 10000
内存限制: 65536
输入
共两行, 第一行是数列中数的个数 n ( 1 <= n <= 100), 第二行是由 n个不大于 10000 的正整数组成的数列, 相邻两个整数之间用单个空格
隔开。
输出
一个整数, 即数列中等于其他两个数之和的数的个数。
样例输入
4
1 2 3 4
样例输出
2
参考答案
#include <iostream>
#include <algorithm>
using namespace std;
int num[105];
int vis[105];
int main(){
int n,count=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>num[i];
}
sort(num,num+n);
for(int i=0;i<n;i++){
for(int j=0;j<i;j++){
for(int k=j+1;k<i;k++){
if(num[i]==num[j]+num[k]&&!vis[i]){
count++;
vis[i]=1;
break;
}
}
}
}
cout << count <<endl;
return 0;
}
上一题
下一题