He aquí dos ejemplos elevar al cuadrado y multiplicar método para $5^{69} \bmod 101$ :
$$ \begin{matrix} 5^{69} &\equiv& 5 &\cdot &(5^{34})^2 &\equiv & 37 \\ 5^{34} &\equiv& &&(5^{17})^2 &\equiv& 88 &(\equiv -13) \\ 5^{17} &\equiv& 5 &\cdot &(5^8)^2 &\equiv& 54 \\ 5^{8} &\equiv& &&(5^4)^2 &\equiv& 58 \\ 5^{4} &\equiv& &&(5^2)^2 &\equiv& 19 \\ 5^{2} &\equiv& &&(5^1)^2 &\equiv& 25 \\ 5^{1} &\equiv& 5 &\cdot &(1)^2 &\equiv& 5 \end{matrix} $$
El cálculo comienza con $5^{69}$ y luego trabajar hacia abajo para crear las dos primeras columnas, y luego calcular los resultados de abajo hacia arriba. (normalmente se omitiría la última línea; la he puesto ahí para aclarar el párrafo siguiente).
Como método abreviado, la representación binaria de $69$ es $1000101_2$ la lectura de los dígitos binarios de izquierda a derecha nos indica las operaciones a realizar a partir del valor $1$ : $0$ dice "cuadrado" y $1$ dice "elevar al cuadrado y multiplicar por $5$ ".
La otra forma es calcular una lista de cuadrados repetidos:
$$ \begin{matrix} 5^1 &\equiv& 5 \\ 5^2 &\equiv& 25 \\ 5^4 &\equiv& 19 \\ 5^8 &\equiv& 58 \\ 5^{16} &\equiv& 31 \\ 5^{32} &\equiv& 52 \\ 5^{64} &\equiv& 78 \end{matrix} $$
A continuación, calcula qué términos tienes que multiplicar:
$$ 5^{69} \equiv 5^{64 + 4 + 1} \equiv 78 \cdot 19 \cdot 5 \equiv 37 $$
3 votos
Pequeño teorema de fermat
3 votos
Puede resultar laborioso cuando $c$ es enorme, pero $b$ ser enorme no debería ser un problema.