W klasie znaleźliśmy ten problem programistyczny, a obecnie nie mamy pojęcia, jak go rozwiązać.Factorization of large numbers
Podano dodatnią liczbę całkowitą
n
. Wiadomo, żen = p * q
, gdziep
iq
są liczbami pierwszymi,p<=q
i|q-k*p|<10^5
dla pewnej danej liczby całkowitej dodatniejk
. Musisz znaleźćp
iq
.
Wejście:
35 1
121 1
1000730021 9
wyjściowa:
5 * 7
11 * 11
10007 * 100003
To nie jest praca, my po prostu staramy się rozwiązać kilka ciekawych problemów. Jeśli masz jakieś pomysły, opublikuj je tutaj, abyśmy mogli spróbować czegoś, dzięki.
http://en.wikipedia.org/wiki/Integer_factorization –
Hm .... może to może być przenoszone do www. solvemyproblemoverflow.com – vfilby
Podpowiedź: q≈kp, więc n = pq≈kp². Innymi słowy, p≈√ (n/k). Przekręć "≈" w precyzyjne granice i masz swój algorytm. – ShreevatsaR