Cela semble être une question qui devrait avoir une réponse facile, mais je n'en ai pas de définitive:
Diviser simplement par prendrait le temps où est la complexité de la multiplication. Mais peut- il être exécuté un peu plus rapidement?
algorithms
number-theory
Suresh
la source
la source
Réponses:
Shoup (Section 3.3.5, Théorème 3.3, p. 62) donne une borne pour calculer le résidur dans le temps O(nlogq) où a=q⋅p+r et loga=n .
Je suppose que sip et a sont tous deux à peu près n nombres de bits, alors q (et donc logq ) devrait être plutôt petit, donnant O(n) .
Sia est un nombre à n bits et p est relativement petit, alors l'approche de multiplication devrait être plus rapide.
la source