# PBinfo #1827 – VectorSumPrim – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerinţa
Scrieți definiția completă a subprogramului P care primeşte prin intermediul parametrului n un număr natural nenul (n≤100), iar prin intermediul parametrului  x un tablou unidimensional cu  n componente întregi, de maximum șase cifre fiecare. 

Subprogramul furnizează prin intermediul parametrului  s suma elementelor din tabloul x care au valori numere prime.

Restricţii şi precizări

0 < n ≤ 100
numele subprogramului cerut este P
parametrii sunt, în această ordine: x, n, s
elementele vectorului x sunt indexate de la zero

Exemplu:
Dacă n=6 și x=(12, 7, 6, 3, 8, 5), după apel s=15.

Important
Soluţia propusă va conţine definiţia subprogramului cerut și eventual al altor subprograme, apelate de acesta. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

## Cod sursă C++

```cpp
bool prim(int x)
{
    if(x < 2)
        return false;
    if(x % 2 ==0 && x > 2)
        return false;
    for(int d = 3 ; d * d <= x ; d += 2)
        if(x % d == 0)
            return false;
    return true;
}
void P(int x[], int n, int & s){
    s = 0;
    for(int i = 0 ; i < n ; i ++)
        if(prim(x[i]))
            s += x[i];
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/1827)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/1827/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-1827/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
