To wydaje się pytaniem, które powinno mieć łatwą odpowiedź, ale nie mam ostatecznego:
Jedynie podzielenie przez będzie wymagać czasu , gdzie jest złożoność mnożenia. Ale czy można wykonać nieco szybciej?
algorithms
number-theory
Suresh
źródło
źródło
Odpowiedzi:
Shoup (Rozdział 3.3.5, Twierdzenie 3.3, s. 62) wyznacza granicę dla obliczenia reszty czasie gdzie oraz .r O(nlogq) a=q⋅p+r loga=n
Sądzę, że jeśli zarówno i są mniej więcej liczbami bitowymi, to (a zatem ) powinno być raczej małe, dając .p a n q logq O(n)
Jeśli jest liczbą bitową, a jest względnie małe, wówczas mnożenie powinno być szybsze.a n p
źródło