■剰余の計算(その13)

[Q]31^31 mod 47,すなわち,31^31を47で割ったときの余りを求めよ.

===================================

 反復2倍乗法を応用した反復平方による累乗法を用いると,

  31=1+2^2+2^3+2^4

  31^31=31^(1+2+2^2+2^3+2^4)=31・31^2・31^(2^2)・31^(2^3)・31^(2^4)

  31^2=961=21

  31^(2^2)=(31^2)^2=441=18

  31^(2^3)=((31^2)^2)^2)=324=42

  31^(2^4)=(((31^2)^2)^2)^2)=1764=25

  31^(2^5)=((((31^2)^2)^2)^2)^2)=625=14

  31^31=31^(1+2^2+2^3+2^4)=31・31^(2^2)・31^(2^3)・31^(2^4)

31・21・18=11718=15

42・25=1050=16

15・16=240=5

===================================