Răspuns:
bool prim (int c)
{
if (c==0 || c==1) return 0;
if (c==2 || c==3) return 1;
if (c>3) {
if (c%2==0) return 0;
else {
int d=1;
for (int j=3; (j*j<=c && d==1); j+=2)
if (c%j==0) ++d;
if (d==1) return 1;
else return 0;
}
}
}
void P(int x[], int n, int& s)
{
s=0; int copie;
for (int i=0; i<n; ++i) {
if (x[i]<0) copie = - x[i];
else copie = x[i];
if (prim(copie)) s+=x[i];
}
}
Explicație: