Складність прийому мод


23

Це здається питанням, на яке слід отримати просту відповідь, але я не маю остаточного:

na,pamodp

Просто ділення на потребує часу де - складність множення. Але чи можна виконати трохи швидше?ap O(M(n))M(n)mod


1
Можливо, німе запитання, але чи можете ви перетворити щоб записати в базі а потім подивитись на LSB? pap
— Pål GD

2
Ви могли б, але це здається додатковою роботою, і, ймовірно, вимагатиме поділу.
— Суреш

Відповіді:


12

Shoup (Розділ 3.3.5, теорема 3.3, стор. 62) дає обмеження для обчислення залишку у часі де і .O ( n log q ) a = q ⋅ p + r log a = nrO(nlog⁡q)a=q⋅p+rlog⁡a=n

Я здогадуюсь, що якщо і є приблизно бітними числами, то (а значить ) має бути досить малим, даючи .a n q log q O ( n )panqlog⁡qO(n)

Якщо - бітове число, а відносно невелике, то підхід множення повинен бути швидшим.n panp

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.