← Back to topics
Topic

Delioci

A
Al3kSaNdaR
Da li neko može da mi da neki hint oko zadatka Delioci. Moje rešenje puca na vremenu zbog For petlje. Da li neko može da mi objasni kako da rešim bez For petlje. :)

http://www.z-trening.com/new/www/html/submit.php?submit=5000000014
b
boris4
Mozda ovo pomogne

Ako imas broj A:

A = p1^a1 * p2^a2 * ... pn^an

gde su p1, p2, ... pn prosti brojevi

onda on ima ( a1+1 ) * ( a2+1 ) * ... * ( an+1 ) delioca.

Ako ovo nije puno pomoglo reci.
A
Al3kSaNdaR
E hvala, setio sam se i ja faktorizacije kasnije ali sam stavio + umesto *. :)
A
Al3kSaNdaR
Evo opet prekoraci vremensko ogranicenje. :(

Jel imas jos neku ideju kako da optimizujem.

http://www.z-trening.com/new/www/html/submit.php?submit=5000000014
A
Al3kSaNdaR
Greska -> Evo link-a za kod.

http://www.z-trening.com/new/www/html/submit.php?submit=7100009665&subm_code=1
b
boris4
Hmmm..., kada sam napisao ono nisam mislio da ces ici po for petlji...

Ok ovako, ne treba da proveravas veliki broj brojeva, jer znas da imaju manje.

Tebi treba broj oblika

p1^a2 * p2^a2 * ... pn^an

tako da ima najvise delioca, pa zasto ne bi isao po tim brojevima ?

Npr. prvi broj za koji proveravas

2^1 * 3^0 * ... p^0

sledeci

2^2 * 3^0 * ... p^ 0

.
.
.

2^n * 3^0 * ... * p^0,

onda ides

2^1 * 3^1 * ... * p^0,

itd...

2^1 * 3^2 * ... * p^0,
sve kombinacije, i od njih nadjes onog koji ima najvise delioca
m
mbalunovic
Hvala, boris

I ja sma uspio rješiti zadatak...