In classe abbiamo riscontrato questo problema di programmazione e al momento non abbiamo idea di come risolverlo.Fattorizzazione di grandi numeri
Viene fornito il numero intero positivo
n
. È noto chen = p * q
, dovep
eq
sono numeri primi,p<=q
e|q-k*p|<10^5
per alcuni dati interi positivik
. È necessario trovarep
eq
.
ingresso:
35 1
121 1
1000730021 9
uscita:
5 * 7
11 * 11
10007 * 100003
Non è compiti a casa, stiamo solo cercando di risolvere alcuni problemi interessanti. Se hai qualche idea, per favore postala qui, così possiamo provare qualcosa, grazie.
http://en.wikipedia.org/wiki/Integer_factorization –
Hmmm .... forse questo potrebbe essere spostato www. solvemyproblemoverflow.com – vfilby
Suggerimento: q≈kp, quindi n = pq≈kp². In altre parole, p≈√ (n/k). Trasforma il "≈" in limiti precisi e hai il tuo algoritmo. – ShreevatsaR