在线mod计算机,计算机系中有关mod的常识(全).doc

计算机系中有关mod的常识(全)

在计算机程序设计中通常都有MOD运算,它的含义是 取得两个整数相除后结果的余数。

例如:7 mod 3 = 1

因为7 除以 3 商2余1。余数1即执行MOD运算后的结果

?

模p运算

给定一个正整数p,任意一个整数n,一定存在等式

n = kp + r 其中k、r是整数,且 0 ≤ r < p,称呼k为n除以p的商,r为n除以p的余数。

对于正整数p和整数a,b,定义如下运算:

取模运算:a mod p 表示a除以p的余数。

模p加法:(a + b) mod p ,其结果是a+b算术和除以p的余数,也就是说,(a+b) = kp +r,则 (a+b) mod p = r。

模p减法:(a-b) mod p ,其结果是a-b算术差除以p的余数。

模p乘法:(a × b) mod p,其结果是 a × b算术乘法除以p的余数。

可以发现,模p运算和普通的四则运算有很多类似的规律,如:

简单的证明其中第一个公式:

((a+b) mod p + c) mod p = (a + (b+c) mod p) mod p

假设

a = k1*p + r1

b = k2*p + r2

c = k3*p + r3

a+b = (k1 + k2) p + (r1 + r2)

如果(r1 + r2) >= p ,则

(a+b) mod p = (r1 + r2) -p

否则

(a+b) mod p = (r1 + r2)

再和c进行模p和运算,得到

结果为 r1 + r2 + r3 的算术和除以p的余数。

对右侧进行计算可以得到同样的结果,得证。

?

模p相等

如果两个数a、b满足a mod p = b mod p,则称他们模p相等,记做

a ≡ b mod p

可以证明,此时a、b满足 a = kp + b,其中k是某个整数。

对于模p相等和模p乘法来说,有一个和四则运算中迥然不同得规则。在四则运算中,如果c是一个非0整数,则

ac = bc 可以得出 a =b

但是在模p运算中,这种关系不存在,例如:

(3 x 3) mod 9 = 0

(6 x 3) mod 9 = 0

但是

3 mod 9 = 3

6 mod 9 =6

定理(消去律):如果gcd(c,p) = 1 ,则 ac ≡ bc mod p 可以推出 a ≡ b mod p

证明:

因为ac ≡ bc mod p

所以ac = bc + kp,也就是c(a-b) = kp

因为c和p没有除1以外的公因子,因此上式要成立必须满足下面两个条件中的一个

1) c能整除k

2) a = b

如果2不成立,则c|kp

因为c和p没有公因子,因此显然c|k,所以k = ck'

因此c(a-b)kp可以表示为c(a-b) =ck'p

因此a-b = k'p,得出a ≡ b mod p

如果a = b,则a ≡ b mod p 显然成立

得证

欧拉函数

欧拉函数是数论中很重要的一个函数,欧拉函数是指:对于一个正整数n,小于n且和n互质的正整数的个数,记做:φ(n),其中φ(1)被定义为1,但是并没有任何实质的意义。

定义小于n且和n互质的数构成的集合为Zn,称呼这个集合为n的完全余数集合。

显然,对于素数p,φ(p)= p -1.对于两个素数p、q,他们的乘积n = pq 满足φ(n) =(p-1)(q-1)

证明:对于质数p,q,满足φ(n) =(p-1)(q-1)

考虑n的完全余数集Zn = { 1,2,....,pq -1}

而不和n互质的集合由下面三个集合的并构成:

1) 能够被p整除的集合{p,2p,3p,....,(q-1)p} 共计q-1个

2) 能够被q整除的集合{q,2q,3q,....,(p-1)q} 共计p-1个

3) 很显然,1、2集合中没有共同的元素,因此Zn中元素个数 = pq - (p-1 + q- 1 + 1) = (p-1)(q-1)

?

欧拉定理

对于互质的整数a和n,有a^φ(n) ≡ 1 mod n

证明:

首先证明下面这个命题:

对于集合Zn={x^1,x^2,...,x^φ(n)},考虑集合

S = {ax^1 mod n,ax^2mod n,...,ax^φ(n) mod n}

则S = Zn

1) 由于a,n互质,x^i 也与n互质,则ax^i 也一定于p互质,因此

任意x^i, ax^i mod n 必然是Zn的一个元素

2) 对于Zn中两个元素x^i 和x^j,如果x^i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值