# PBinfo #435 – FactoriPrimi – Rezolvare C++

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

## Enunț

Cerinţa
Se dau două numere naturale nenule. Să se verifice dacă cele două numere au exact aceiași factori primi, indiferent de puterea acestora.

Date de intrare
Programul citește de la tastatură numerele n și m.

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă cele două numere au exact aceiași factori primi, respectiv NU în caz contrar.

Restricţii şi precizări

cele două numere citite vor fi mai mici decât 230

Exemplu 1:
Intrare

72 48
Ieșire

DA
Explicație
72 și 48 au exact aceiași factori primi: 2 3.

Exemplu 2:
Intrare

72 30
Ieșire

NU
Explicație
Factorii primi ai lui 72 sunt 2 3, iar factorii primi ai lui 30 sunt 2 3 5.

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main() {
    int n, m, d = 2;
    bool adv = true;
    cin >> n >> m;
    while (n > 1 && adv == true) {
        if (n % d == 0)
            if (m % d != 0)
            adv = false;
            else {
            	while (n % d == 0) n = n / d;
            	while (m % d == 0) m = m / d;
        } d++;
    } if (m != 1) adv = false;
    if (adv) cout << "DA";
    else cout << "NU";
    return 0;
}
```

## Resurse

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