1. 程式人生 > >數論(1)

數論(1)

單位 人性 改變 nbsp 情況 b+ 其中 例子 是我

歐幾裏得算法

即輾轉相除法,證明如下。

基本算法:設a=qb+r,其中a,b,q,r都是整數,則gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。

第一種證明:

a可以表示成a = kb + r,則r = a mod b

假設d是a,b的一個公約數,則有

d|a, d|b,而r = a - kb,因此d|r

因此d是(b,a mod b)的公約數

假設d 是(b,a mod b)的公約數,則

d | b , d |r ,但是a = kb +r

因此d也是(a,b)的公約數

因此(a,b)和(b,a mod b)的公約數是一樣的,其最大公約數也必然相等,得證

乘法逆元

乘法逆元官方定義:

群G中任意一個元素a,都在G中有唯一的逆元a‘,具有性質aa‘=a‘a=e,其中e為群的單位元。

然而我太菜了並沒有看懂。

然而百度百科非常人性化,它還有配套的例子!

例子如下:

例如:4關於1模7的乘法逆元為多少?

4X≡1 mod 7

這個方程等價於求一個X和K,滿足

4X=7K+1

其中X和K都是整數。

這就很容易理解了。

如果有ax≡1(modp),則稱x是mod p意義下a的乘法逆元。

其實就是a乘一個數在什麽情況下%p什麽時候=1。

改變一下形式就是ax=pk+1的一組解,求x即可。

通過費馬小定理,可以得到一個新的算法。

即(a/b)%p=1;但是我們無法直接求1/b的值,所以我們就把b/1設成c,只須求ac%p=1即可。

費馬小定理可得:b%p的逆元 = b^p-2(mod p);

數論(1)