多次幂的最后两位的求法

首先,先来简单的。比如任意N,M,求N exp M的最后一位。这个其实就是看N的最后一位a和M。把M mod 4的得到的值b(如果模出得0取4),求出a exp b,得到这个的最后一位就可以了。

 

接着就可以求最后两位了。首先要了解几个数论中的定理(其中 // //表示最后两位,/ /表示最后一位)。

定理1 R=M mod 20(若M mod 20 = 0, 则取20 ),则// N exp M // = // N exp R //。

定理2 N的个位数为d, 十位数为c, R=M mod 20(若M mod 20 = 0, 则取20 ),// N exp M // = // (10Rc + d)*(d exp (R-1)) //

定理3 N exp M)mod 20 = (N mod 20) exp (M mod 4) 

定理3可以用来处理多重幂的情况。

 

最后,贴上一个例子。

posted @ 2011-10-17 21:50  Iacocca Yan  阅读(707)  评论(0编辑  收藏  举报