Răspuns :
Bună,
Problema se poate rezolva încercând potențialii divizori ai lui n începând cu n - 1, descrescător. In momentul in care o sa iasa din while, d o sa fie cel mai mare divizor al lui n. Evident daca numărul este prim, nu exista divizor propriu si dupa ieșirea din while, d o sa fie 1.
int d = n - 1;
while(n % d ! = 0)
d--;
if (d ==1)
cout <<"Numarul este prim si nu are divizori proprii";
else
cout << d;
O varianta optimizata presupune identificarea divizorului propriu minim si afisarea perechii acestuia. Daca vrei mai multe detalii, anunță-mă.
Problema se poate rezolva încercând potențialii divizori ai lui n începând cu n - 1, descrescător. In momentul in care o sa iasa din while, d o sa fie cel mai mare divizor al lui n. Evident daca numărul este prim, nu exista divizor propriu si dupa ieșirea din while, d o sa fie 1.
int d = n - 1;
while(n % d ! = 0)
d--;
if (d ==1)
cout <<"Numarul este prim si nu are divizori proprii";
else
cout << d;
O varianta optimizata presupune identificarea divizorului propriu minim si afisarea perechii acestuia. Daca vrei mai multe detalii, anunță-mă.