# PBinfo #1450 – Memory003 – Rezolvare C++

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

## Enunț

Cerința
Se dă o matrice cu m linii şi n coloane, având elementele numere naturale nenule. Aflaţi câte coloane ale matricei au produsul elementelor divizibil cu un număr dat p.

Date de intrare
Fișierul de intrare memory003.in conține pe prima linie numerele m, n şi p, iar pe următoarele m linii câte n numere naturale separate prin spații, reprezentând elementele matricei.

Date de ieșire
Fișierul de ieșire memory003.out va conține pe prima linie numărul de coloane ale matricei pentru care produsul elementelor este divizibil cu p.

Restricții și precizări

1 ≤ m ≤ 1.000
1 ≤ n ≤ 300
1 ≤ p ≤ 1.000.000.000
elementele matricei sunt mai mici sau egale cu 100

Exemplu:
memory003.in

2 3 10
4 7 5
25 8 6
memory003.out

2
Explicație
Produsul elementelor pe coloane este 100, 56, respectiv 30. Avem astfel două coloane cu produsul elementelor divizibil cu 10.

## Cod sursă C++

```cpp
#include <fstream>
using namespace std;
ifstream in("memory003.in");
ofstream out("memory003.out");
long long int prod[1001], p, n, m, temp, S = 0;
int main() {
    in >> n >> m >> p;
    for (int i = 1; i <= m; i++)
        prod[i] = 1;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++) {
        in >> temp;
        prod[j] = (prod[j] % p * temp % p) % p;
    } for (int i = 1; i <= m; i++)
        S = S + (prod[i] == 0);
    out << S << "\n";
    return 0;
}
```

## Resurse

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