# PBinfo #666 – nrprime – Rezolvare C++

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

## Enunț

Cerința
Se dă o matrice cu n linii și m coloane și elemente numere naturale. Să se determine câte dintre elementele situate pe linii cu indici pari sunt prime.

Date de intrare
Programul citește de la tastatură numerele n m, iar apoi n șiruri cu câte m numere naturale, reprezentând elementele matricei.

Date de ieșire
Programul va afișa pe ecran numărul C, reprezentând valoarea căutată.

Restricții și precizări

1 ≤ n , m ≤ 100
elementele matricei sunt numere naturale mai mici decât 1.000.000
liniile matricei sunt numerotate de 1 la n, iar coloanele de la 1 la m

Exemplu:
Intrare

4 3
5 12 10
3 9 1
7 10 1
10 9 3
Ieșire

2
Explicație
Cele 2 valori prime determinate sunt cele îngroșate mai jos:


 5 
12 
10 


 3 
 9 
1 


 7 
10 
1 


10 
 9 
3 



Observăm că matricea conține și alte elemente prime, dar ele nu sunt situate pe linii cu indici pari.

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main(){
    int mat[101][101], n, m, nr = 0;
    cin >> n >> m;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            cin >> mat[i][j];
    for (int i = 2; i <= n; i = i + 2)
        for (int j = 1; j <= m; j++) {
            bool prim = true;
            int x = mat[i][j];
            if (x < 2) prim = false;
            if (x > 2 && x % 2 == 0) prim = false;
            for (int d = 3; prim && d * d <= x; d = d + 2)
                if (x % d == 0) prim = false;
            if (prim == true) nr++;
        } cout << nr;
    return 0;
}
```

## Resurse

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