私はこのリンクをウィキペディアの多数のモジュロから研究してきました。ここに疑似コードがあります。
function modular_pow(base, exponent, modulus)
result := 1
while exponent > 0
if (exponent mod 2 == 1):
result := (result * base) mod modulus
exponent := exponent >> 1
base = (base * base) mod modulus
return result
wiki の説明がわかりません。exp%2 が偶数か奇数かを確認する必要があるのはなぜですか。また、なぜ私は3つの操作を行っているのですか?