■剰余の計算(その28)

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

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

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

  561=1+2^4+2^5+2^9

  2^561=2^(1+2^4+2^5+2^9)=2・2^(2^4)・2^(2^5)・2^(2^9)

  2=2

  2^2=4

  2^(2^2)=(2^2)^2=16

  2^(2^3)=((2^2)^2)^2=256

  2^(2^4)=(((2^2)^2)^2)^2=65536=460

  2^(2^5)=((((2^2)^2)^2)^2)^2=211600=103

  2^(2^6)=(((((2^2)^2)^2)^2)^2)^2=10609=511

  2^(2^7)=((((((2^2)^2)^2)^2)^2)^2)^2=261121=256

  2^(2^8)=(((((((2^2)^2)^2)^2)^2)^2)^2)^2=460

  2^(2^8)=((((((((2^2)^2)^2)^2)^2)^2)^2)^2)^2=103

  2^561=2^(1+2^4+2^5+2^9)=2・2^(2^4)・2^(2^5)・2^(2^9)

=2・460・103・103=2

2・460=359

103・103=10609=511

359・511=183449=2

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