mod运算,即求余(取模)运算,是在整数运算中求一个整数 x 除以另一个整数y的余数的运算,且不考虑运算的商。在计算机程序设计中都有MOD运算,其格式为: mod(nExp1,nExp2),即是两个数值表达式作除法运算后的余数。 取模主要是用于计算机术语中。取余则更多是数学概念。模运算在数论和程序设计中都有着广泛的应用,从奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。(推荐学习:PHP视频教程) 虽然很多数论教材上对模运算都有一定的介绍,但多数都是以纯理论为主,对于模运算在程序设计中的应用涉及不多。 给定一个正整数p,任意一个整数n,一定存在等式 : 取模运算:a % p(或a mod p),表示a除以p的余数。 运算规则 模运算与基本四则运算有些相似,但是除法例外。其规则如下: (a + b) % p = (a % p + b % p) % p (1) (a - b) % p = (a % p - b % p) % p (2) (a * b) % p = (a % p * b % p) % p (3) a ^ b % p = ((a % p)^b) % p (4) 结合律: ((a+b) % p + c) % p = (a + (b+c) % p) % p (5) ((a*b) % p * c)% p = (a * (b*c) % p) % p (6) 交换律: (a + b) % p = (b+a) % p (7) (a * b) % p = (b * a) % p (8) 分配律: (a+b) % p = ( a % p + b % p ) % p (9) ((a +b)% p * c) % p = ((a * c) % p + (b * c) % p) % p (10) 重要定理 若a≡b (% p),则对于任意的c,都有(a + c) ≡ (b + c) (%p);(11) 若a≡b (% p),则对于任意的c,都有(a * c) ≡ (b * c) (%p);(12) 若a≡b (% p),c≡d (% p),则 (a + c) ≡ (b + d) (%p),(a - c) ≡ (b - d) (%p), (a * c) ≡ (b * d) (%p); (13) 更多PHP相关技术文章,请访问PHP图文教程栏目进行学习! |