# PBinfo #2306 – numere22 – Rezolvare C++

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

## Enunț

Cerinţa
Se dau două numere prime p, q și n numere naturale nenule. Determinați exponentul maxim E pentru care numărul \( p^E \cdot q^E\) divide produsul celor n numere date.

Date de intrare
Programul citește de la tastatură numere p q n, iar apoi n numere naturale, separate prin spaţii.

Date de ieşire
Programul afișează pe ecran numărul E, reprezentând numărul cerut.

Restricţii şi precizări

1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 1.000.000.000

Exemplu:
Intrare

7 2 5
72 56 70 9 700
Ieșire

3

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main() {
    int n, p, q, contorp = 0, contorq = 0, temp;
    cin >> p >> q >> n;
    for (int i = 1; i <= n; i++) {
        cin >> temp;
        while (temp % p == 0) {
            temp = temp / p; 
        	contorp++;
        } while (temp % q == 0) {
            temp = temp / q;
        	contorq++;
    	}
    } if (contorp < contorq) cout << contorp;
    else cout << contorq;
    return 0;
}
```

## Resurse

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