0
已解决
0
已采纳
王子健
初级天翼
初级天翼
我50分,有hack数据,你可以参考:
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
bool IsPrime(int x) {
if(x==1) return false;
for(int i=2; i<=sqrt(x); i++) if (x%i==0) return false;
return true;
}
int a[110], cnt;
bool f[30001];
int main() {
int n, t;
cin >> n;
for(int i=1; i<=n; i++) {
cin >> a[i];
f[a[i]] = true;
}
for(int i=1; i<=n; i++) {
for(int j=i+1; j<=n; j++) {
if(IsPrime (a[i] + a[j]) && f[a[i]] == true && f[a[j]] == true) {
cnt ++;
f[a[i]] = false;
f[a[j]] = false;
break;
}
}
}
cout << cnt;
return 0;
}
//
//7
//i: 1 2 3 4 5 6 7
//a: 1 1 1 1 1 1 1
//f: 0 0 1 1 1 1 1
//
//cnt: 1