本文介绍关于模运算的相关知识,并给出大数模运算的方法。
一、模的理论和规律
1. 如果n整除A-B,那么就称A和B模n同余。
如果A和B模n同余,那么A+C与B+C模n同余; AD与BD模n同余。
2. m % n,当m递增时m % n 呈现周期性特点,并且n越大,周期越长,周期为n。
3. 模运算规则:
(a + b) % n = (a % n + b % n) % n
(a - b) % n = (a % n - b % n) % n
(a * b) % n = (a % n * b % n) % n
a^b % n = ((a % n)^b) % n
例如:
(1)可以利用3中的运算规则来降幂运算,计算62^65 % 133(摘自http://hi.baidu.com/ckh_0330/item/beffd70d83fa80153a53ee877):
得到第六步的方法是
120^32 % 133
= (120^2)^16 % 133
= (14400)^16 % 133
= (14400 % 133) ^16 % 133 //模运算规则
= 36^16 % 133
(2)求2^10000 % 5 的结果:
2^4 % 5 = 16 % 5 = 1;
(2^4)^2500 % 5 = (2^4 % 5) ^2500 % 5 = 1^2500 % 5 = 1;
所以2^10000 % 5 = 1