timer02:45:12
Subiectul III

Problema 1. Divizori și Puteri

Scrieți un program C++ care citește de la tastatură un număr natural n (n ∈ [2, 109]) și afișează pe ecran cel mai mare divizor prim al acestuia. Dacă numărul nu are divizori primi (caz imposibil pentru n ≥ 2), se va afișa mesajul "NU".

Programul trebuie să fie eficient din punct de vedere al timpului de execuție, încadrându-se în limita de 0.1 secunde.

Exemplu 1
Intrare:24
Ieșire:3

Explicație: Divizorii primi ai lui 24 sunt 2 și 3. Cel mai mare este 3.

Exemplu 2
Intrare:17
Ieșire:17

Explicație: 7 este număr prim, deci cel mai mare divizor prim este el însuși.

infoRestricții și precizări

  • Numerele sunt naturale.
  • Se recomandă utilizarea tipurilor de date adecvate.
  • Timp maxim de execuție: 0.1s/test.
  • Memorie disponibilă: 8 MB.