描述
給定一個正整數序列,判斷其中有多少個數,等於數列中其他兩個數的和。 比如,對於數列1 2 3 4, 這個問題的答案就是2, 因爲3 = 2 + 1, 4 = 1 + 3。
輸入
共兩行,第一行是數列中數的個數n ( 1 <= n <= 100),第二行是由n個不大於10000的正整數組成的數列,相鄰兩個整數之間用單個空格隔開。
輸出
一個整數,即數列中等於其他兩個數之和的數的個數。
樣例輸入
4
1 2 3 4
#include <cstdio>
#include <iostream>
using namespace std;
int a[105];
int main() {
int n, ans = 0;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < n; i++){
bool f = false;
for(int j = 0; j < n; j++){
for(int k = 0; k < n; k++){
if(i != j && i != k && j != k && a[i] == a[j] + a[k]){
f = true;
}
}
}
if(f == true)
ans++;
}
cout << ans;
return 0;
}
這也是真題:【14NOIP普及組】珠心算測驗。