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ă informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.