■整数であるか? (その36)
[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
===================================