クラスでは、2^n mod(m) のアルゴリズムが提示されました。
to find 2^n mod(m){
if n=0 {return 1;}
r=2^(n-1)mod(m);
if 2r < m {return 2r;}
if 2r > =m {return 2r-m;}
}
実行時間は O(n*size(m)) で、m のサイズは m のビット数であると言われました。
n の部分はわかりますが、サイズ (m) については引き算が関係しないと説明できません。誰かがそれに光を当てることができますか?
前もって感謝します。