Znaczy wiem, że można znaleźć dzielniki liczby w czasie sqrt(liczba), ale rozłożyć na czynniki już nie umiem chyba.
Bo np. mamy liczbę 252198.
No i można tak wypisać dzielniki tej liczby:
(kiedyś tu był kod ;-) )
ale to nie rozłoży nam na czynniki pierwsze liczbę, tylko wypisze jej dzielniki.
Np. dla 20 wypisze: 2, 4, 5, 10 zamiast 2, 2, 5
No więc trzeba by tak zrobić na przykład:
(tu też był kod)
Jednak nie jest to chyba złożoność logarytmiczna (tak czy inaczej to też dostaje TLE).
//Edit:
Ok, znalazłem, co zrobić. No więc należy sprawdzać do sqrt(liczba) dzielniki pierwsze, a potem to, co zostanie, to kolejny dzielnik pierwszy tej liczby, chyba że... no i tutaj sami dojdźcie. 