取模:
取模运算n%p的结果与p的符号无关,由n决定。
例如:7%4=3,-7%4=-3,7%-4=3,-7%-4=-3;
基本的运算:
(a+b)%p=(a%p+b%p)%p
(a-b)%p=(a%p-b%p)%p
(a*b)%p=(a%p*b%p)%p
(a^b)%p=((a%p)^b)%p
重要定理:
a≡b(%p) 对任意的c都有(a+c)≡(b+c)(%p);
两数想成同样符合 a≡b(%p) 对任意的c都有 (ac)≡(bc)(%p);
a≡b(%p),c≡d(%p)则
(a+c)≡(b+d)(%p)
(a-c)≡(b-d)(%p)
(ac)≡(bd)(%p)
(a/c)≡(b/d)(%p)
应用:
1,判断奇偶数 x%2=1 奇数 x%2=0 偶数。
2,判断素数 试除法 查余数是否为零 表示整除。
3,最大公约数,最小公倍数 t=a%b; a=b;b=t;循环;
4,模幂运算 例如求3333^5555 的个位数几 运用上面基本运算里的第四个得到3333^55555=>3^5555(%10)然后找规就行了。
5,孙子问题(中国剩余定理)
维基百科里面讲的很详细:zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD%E5%89%A9%E4%BD%99%E5%AE%9A%E7%90%86
这里用了weile()循环 ,这里我们来如果不能除得余数为1,就加上一个Mi继续除直到除到为1;
6,凯撒密码
这个也是比较简单 (a+x)%26 (b-x)%26 就是这个样子