Réponses:
En utilisant la transformée de Fourier rapide, les multiplications sur les nombres à bits peuvent être effectuées dans le temps (où le tilde signifie que nous ignorons les facteurs polylogarithmiques). Par la mise au carré répétée, nous pouvons calculer avec multiplications, et chaque multiplication n'implique aucun nombre supérieur à , qui a environ bits. Ainsi, le temps total requis est .
Modifié en réponse aux commentaires Le temps de calcul peut être décomposé en le temps requis pour calculer et celui requis pour effectuer . Je suppose que la multiplication d'un nombre bits par un nombre bits prend exactement temps par la méthode du livre scolaire; les ajouts, etc. sont à temps constant. Par conséquent, le calcul de prend du temps .
Supposons que nous utilisons l'exponentiation binaire pour calculer . L'exponentiation binaire effectue deux types d'opérations dans le calcul de : la mise au carré du produit actuel et la multiplication du produit actuel par , selon que le bit actuel dans l'expansion binaire de est 0 ou 1. Dans le pire des cas , est une puissance de deux, de sorte que l'exponentiation binaire place à plusieurs reprises son produit actuel jusqu'à ce qu'il atteigne la réponse.Notez que a bits, de sorte que le nombre de ces équerrages est . C'est le cas que nous analysons plus loin.
Le premier quadrillage prend temps, résultant en un produit bits. La seconde mise au carré prend deux bits et s'exécute en fois, résultant en un produit bits. En continuant, la ème étape prend fois et un produit bits. Ce processus s'arrête à la -ième étape; en conséquence, cela prend du temps
.
Lorsque le coût de mise au carré initial est inclus, nous constatons que nous avons besoin de temps au maximum
Remarque