同余模定理(用于大数求余)

1. (a+b)%c=(a%c+b%c)%c

证明:

设a=t1*c+d,b=t2*c+e

(a+b)%c=(t1*c+d+t2*c+d)%c

              =(d+e)%c

(a%c+b%c)%c=(d+e)%c

 

2. (a*b)%c=(a%c*b%c)%c

证明:

设a=t1*c+d,b=t2*c+e

(a*b)%c=((t1*c+d)(t2*c+e))%c

              =(t1*t2*c*c+t1*c*e+t2*c*d+d*e)%c

              =(d*e)%c

(a%c*b%c)%c=(d*e)%c

3. (a/b)%c=(a%(b*c))/b  (要求a 能整除b)

证明:

设a=t1*c+d,b=t2*c+e

 (a/b)%c=x

 a/b=k*c+x

 a=k*b*c+b*x

由于x<c ,a%(b*c)=b*x

所以(a%(b*c))/b=x

 

练习:http://acm.zcmu.edu.cn/JudgeOnline/problem.php?id=1097

posted on 2015-03-22 15:36  kylehz  阅读(153)  评论(0)    收藏  举报