Răspuns :
Răspuns:
#include <iostream>
using namespace std;
long long n,m,nr1=1,nr2=1;
int main()
{
cin >> n >> m;
long long d;
d=2;
while (d*d<=n)
{
int e=0;
while (n%d==0)
{
n=n/d;
++e;
}
if (e>0) nr1=nr1*d;
++d;
}
if (n>1) nr1=nr1*n;
d=2;
while (d*d<=m)
{
int e=0;
while (m%d==0)
{
m=m/d;
++e;
}
if (e>0) nr2=nr2*d;
++d;
}
if (m>1) nr2=nr2*m;
if (nr1==nr2) cout << "DA";
else cout << "NU";
}
Explicație:
creez două numere formate din produsul divizorilor primi a numerelor fără repetări.
nr1 pentru n, nr2 pentru m.
dacă numerele formate astfel sunt egale, atunci OK...
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că resursele disponibile v-au fost de ajutor. Pentru întrebări sau asistență suplimentară, nu ezitați să ne contactați. Ne bucurăm să vă revedem în curând și vă invităm să ne salvați în lista de site-uri preferate!