View Single Post
Sitat av tormaroe Vis innlegg
Min naive algoritme finner i alle fall ingen løsning i en fei.., langt der i fra!
Vis hele sitatet...
Lenge siden jeg tok den, men generelt sett om faktoriseringsoppgaver så er det lurt å ha en dynamisk programmeringstilnærming. Det er kode som kommer godt med når du skal ta senere oppgaver. Blir typisk noe slikt:

Prealloker en liste/array av en viss størrelse og la element K ha verdien til antallet faktorer i tallet K. Dermed kan du slå opp tidligere tall heller enn å rekalkulere. F.eks. hvis 1024 faktoreres til 8*128, så kan man hente ut 128 og 8 fordi man antagelig har beregnet dem allerede. Du trenger også bare å betrakte faktorer opp til sqrt(tall) siden multiplikasjon er kommutativt og du dermed vil finne alle mulige faktorer på vei opp.

Oppgaven tar maks et sekund med en god faktoriseringsalgoritme.